package cn.huge.module.meet.service;
|
|
import cn.huge.base.common.exception.ServiceException;
|
import cn.huge.base.common.utils.DateUtils;
|
import cn.huge.base.common.utils.IdUtils;
|
import cn.huge.module.client.api.impl.UtilsClientImpl;
|
import cn.huge.module.mediate.constant.CaseBaseConstsEnum;
|
import cn.huge.module.mediate.constant.MeetBaseConstsEnum;
|
import cn.huge.module.meet.dao.mapper.MeetUserMapper;
|
import cn.huge.module.meet.domain.dto.MeetUserJoinDTO;
|
import cn.huge.module.meet.domain.po.MeetInfo;
|
import cn.huge.module.meet.domain.po.MeetUser;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.apache.commons.collections.CollectionUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.PageImpl;
|
import org.springframework.data.domain.PageRequest;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @title: 会议参与人表业务逻辑处理
|
* @Description JPA的单表数据查询以由BaseService完成
|
* @company hugeinfo
|
* @author liyj
|
* @Time 2022-03-28 12:02:58
|
* @version 1.0.0
|
*/
|
@Slf4j
|
@Service
|
@Transactional(rollbackFor = Exception.class)
|
public class MeetUserService extends ServiceImpl<MeetUserMapper, MeetUser>{
|
|
@Autowired
|
private MeetUserMapper mapper;
|
|
@Autowired
|
private MeetInfoService meetInfoService;
|
|
@Autowired
|
private UtilsClientImpl utilsClient;
|
|
/**
|
* 更新对象
|
* @param entity 对象
|
*/
|
public void updateMeetUser(MeetUser entity){
|
try{
|
mapper.updateMeetUser(entity);
|
}catch (Exception e){
|
log.error("service方法[MeetUserService.updateMeetUser]调用异常:"+e, e);
|
throw new ServiceException("MeetUserService.updateMeetUser", e);
|
}
|
}
|
|
/**
|
* 条件更新对象
|
* @param entity 对象
|
* @param terms 条件
|
*/
|
public void updateMeetUserTerms(MeetUser entity, Map<String, Object> terms){
|
try{
|
mapper.updateMeetUserTerms(entity, terms);
|
}catch (Exception e){
|
log.error("service方法[MeetUserService.updateMeetUserTerms]调用异常:"+e, e);
|
throw new ServiceException("MeetUserService.updateMeetUserTerms", e);
|
}
|
}
|
|
/**
|
* 根据编号物理删除
|
* @param id 查询条件集合
|
*/
|
public void deleteMeetUser(String id){
|
try{
|
mapper.deleteMeetUser(id);
|
}catch (Exception e){
|
log.error("service方法[MeetUserService.deleteMeetUser]调用异常:"+e, e);
|
throw new ServiceException("MeetUserService.deleteMeetUser", e);
|
}
|
}
|
|
/**
|
* 按条件查询
|
* @param terms 条件
|
* @return List
|
*/
|
public List<MeetUser> listTerms(Map<String, Object> terms){
|
return mapper.listTerms(terms);
|
}
|
|
/**
|
* 按条件统计
|
* @param terms 条件
|
* @return long
|
*/
|
public long countTerms(Map<String, Object> terms){
|
return mapper.countTerms(terms);
|
}
|
|
/**
|
* 按条件分页查询
|
* @param page 分页对象
|
* @param terms 条件
|
* @return Page
|
*/
|
public Page<MeetUser> pageQuery(PageRequest page, Map<String, Object> terms){
|
long total = mapper.countTerms(terms);
|
List<MeetUser> content = mapper.pageTerms(page, terms);
|
return new PageImpl<MeetUser>(content, page, total);
|
}
|
|
/**
|
* 新增或更新对象
|
* @param meetUser 实体对象
|
*/
|
public void saveMeetUser(MeetUser meetUser){
|
try{
|
Date nowDate = DateUtils.getNowDate();
|
// 判断是否新增
|
if (IdUtils.checkNewId(meetUser.getId())){
|
meetUser.setId(utilsClient.getNewTimeId());
|
meetUser.setCreateTime(nowDate);
|
}
|
meetUser.setUpdateTime(nowDate);
|
this.saveOrUpdate(meetUser);
|
}catch (Exception e){
|
log.error("service方法[MeetUserService.saveMeetUser]调用异常:"+e, e);
|
throw new ServiceException("MeetUserService.saveMeetUser", e);
|
}
|
}
|
|
/**
|
* 创建会议参与人
|
* @param meetInfo 会议信息
|
* @param userType 参与人类型
|
* @param userId 参与人编号
|
* @param userName 参与人名称
|
*/
|
public void createMeetUser(MeetInfo meetInfo, String userType, String userId, String userName, String userMobile, String userIdcard){
|
try{
|
Date nowDate = DateUtils.getNowDate();
|
MeetUser meetUser = new MeetUser();
|
meetUser.setId(utilsClient.getNewTimeId());
|
meetUser.setCaseId(meetInfo.getCaseId());
|
meetUser.setMeetId(meetInfo.getId());
|
meetUser.setUserType(userType);
|
meetUser.setUserTypeName(MeetBaseConstsEnum.getDes(userType));
|
meetUser.setUserId(userId);
|
meetUser.setUserName(userName);
|
meetUser.setUserIdcard(userIdcard);
|
meetUser.setUserMobile(userMobile);
|
meetUser.setMeetWay(meetInfo.getMeetWay());
|
if (MeetBaseConstsEnum.MEET_USER_TYPE_1.getIndex().equals(userType) || MeetBaseConstsEnum.MEET_USER_TYPE_2.getIndex().equals(userType)){
|
meetUser.setFixStatus(MeetBaseConstsEnum.FIX_STATUS_2.getIndex());
|
meetUser.setFixStatusName(MeetBaseConstsEnum.FIX_STATUS_2.getDes());
|
meetUser.setSignStatus(MeetBaseConstsEnum.SIGN_STATUS_2.getIndex());
|
meetUser.setSignStatus(MeetBaseConstsEnum.SIGN_STATUS_2.getDes());
|
}else {
|
meetUser.setFixStatus(MeetBaseConstsEnum.FIX_STATUS_1.getIndex());
|
meetUser.setFixStatusName(MeetBaseConstsEnum.FIX_STATUS_1.getDes());
|
}
|
meetUser.setSignStatus(MeetBaseConstsEnum.SIGN_STATUS_1.getIndex());
|
meetUser.setSignStatusName(MeetBaseConstsEnum.SIGN_STATUS_1.getDes());
|
meetUser.setCustId(meetInfo.getCustId());
|
meetUser.setCreateTime(nowDate);
|
meetUser.setUpdateTime(nowDate);
|
mapper.insert(meetUser);
|
}catch (Exception e){
|
log.error("service方法[MeetUserService.createMeetUser]调用异常:"+e, e);
|
throw new ServiceException("MeetUserService.createMeetUser", e);
|
}
|
}
|
|
/**
|
* 按纠纷编号查询
|
* @param caseId 纠纷编号
|
* @return List
|
*/
|
public List<MeetUser> listByCaseId(String caseId){
|
QueryWrapper<MeetUser> meetUserQueryWrapper = new QueryWrapper<>();
|
meetUserQueryWrapper.eq("case_id", caseId);
|
return mapper.selectList(meetUserQueryWrapper);
|
}
|
|
/**
|
* 按纠会议编号查询
|
* @param meetId 会议编号
|
* @return List
|
*/
|
public List<MeetUser> listByMeetId(String meetId){
|
QueryWrapper<MeetUser> meetUserQueryWrapper = new QueryWrapper<>();
|
meetUserQueryWrapper.eq("meet_id", meetId);
|
return mapper.selectList(meetUserQueryWrapper);
|
}
|
|
/**
|
* 按纠会议编号查询申请人当事人参与信息
|
* @param meetId 会议编号
|
* @return List
|
*/
|
public List<MeetUser> listSqrByMeetId(String meetId){
|
QueryWrapper<MeetUser> meetUserQueryWrapper = new QueryWrapper<>();
|
List<String> userTypes = new ArrayList<>();
|
userTypes.add(MeetBaseConstsEnum.MEET_USER_TYPE_10.getIndex());
|
userTypes.add(MeetBaseConstsEnum.MEET_USER_TYPE_11.getIndex());
|
meetUserQueryWrapper.eq("meet_id", meetId).in("user_type", userTypes);
|
return mapper.selectList(meetUserQueryWrapper);
|
}
|
|
/**
|
* 按纠会议编号查询被申请人当事人参与信息
|
* @param meetId 会议编号
|
* @return List
|
*/
|
public List<MeetUser> listBsqrByMeetId(String meetId){
|
QueryWrapper<MeetUser> meetUserQueryWrapper = new QueryWrapper<>();
|
List<String> userTypes = new ArrayList<>();
|
userTypes.add(MeetBaseConstsEnum.MEET_USER_TYPE_12.getIndex());
|
userTypes.add(MeetBaseConstsEnum.MEET_USER_TYPE_13.getIndex());
|
meetUserQueryWrapper.eq("meet_id", meetId).in("user_type", userTypes);
|
return mapper.selectList(meetUserQueryWrapper);
|
}
|
|
/**
|
* 按纠会议编号查询
|
* @param meetId 会议编号
|
* @param userIdcard 参与人身份证号码
|
* @return List
|
*/
|
public MeetUser getByMeetIdAndIdcard(String meetId, String userIdcard){
|
QueryWrapper<MeetUser> meetUserQueryWrapper = new QueryWrapper<>();
|
meetUserQueryWrapper.eq("meet_id", meetId).eq("user_idcard", userIdcard);
|
return mapper.selectOne(meetUserQueryWrapper);
|
}
|
|
/**
|
* 根据纠纷编号查询参与人参与情况
|
* @param caseId 纠纷编号
|
* @param caseId 会议类型
|
* @return MeetUserJoinDTO
|
*/
|
public MeetUserJoinDTO getUserJoinByCase(String caseId, String meetType){
|
// 封装数据
|
MeetUserJoinDTO meetUserJoinDTO = new MeetUserJoinDTO();
|
List<MeetUser> plaintiffList = new ArrayList<>();
|
List<MeetUser> defendantList = new ArrayList<>();
|
List<MeetUser> otherList = new ArrayList<>();
|
// 获取参与人信息
|
List<MeetInfo> meetInfoList = meetInfoService.listByCaseId(caseId, meetType);
|
if (CollectionUtils.isNotEmpty(meetInfoList)) {
|
MeetInfo meetInfo = meetInfoList.get(0);
|
List<MeetUser> meetUserList = this.listByMeetId(meetInfo.getId());
|
for (MeetUser meetUser : meetUserList) {
|
// 封装申请人列表
|
if (MeetBaseConstsEnum.MEET_USER_TYPE_11.getIndex().equals(meetUser.getUserType())) {
|
plaintiffList.add(meetUser);
|
} else if (MeetBaseConstsEnum.MEET_USER_TYPE_12.getIndex().equals(meetUser.getUserType())) {
|
// 封装被申请人列表
|
defendantList.add(meetUser);
|
} else {
|
// 封装其他参与人列表
|
otherList.add(meetUser);
|
}
|
}
|
}
|
meetUserJoinDTO.setPlaintiffList(plaintiffList);
|
meetUserJoinDTO.setDefendantList(defendantList);
|
meetUserJoinDTO.setOtherList(otherList);
|
return meetUserJoinDTO;
|
}
|
|
/**
|
* 根据纠纷编号查询参与人参与情况
|
* @param meetId 会议编号
|
* @return MeetUserJoinDTO
|
*/
|
public MeetUserJoinDTO getUserJoinByMeet(String meetId){
|
// 封装数据
|
MeetUserJoinDTO meetUserJoinDTO = new MeetUserJoinDTO();
|
List<MeetUser> plaintiffList = new ArrayList<>();
|
List<MeetUser> defendantList = new ArrayList<>();
|
List<MeetUser> otherList = new ArrayList<>();
|
// 获取参与人信息
|
List<MeetUser> meetUserList = this.listByMeetId(meetId);
|
for (MeetUser meetUser : meetUserList) {
|
// 封装申请人列表
|
if (MeetBaseConstsEnum.MEET_USER_TYPE_11.getIndex().equals(meetUser.getUserType())) {
|
plaintiffList.add(meetUser);
|
} else if (MeetBaseConstsEnum.MEET_USER_TYPE_12.getIndex().equals(meetUser.getUserType())) {
|
// 封装被申请人列表
|
defendantList.add(meetUser);
|
} else {
|
// 封装其他参与人列表
|
otherList.add(meetUser);
|
}
|
}
|
meetUserJoinDTO.setPlaintiffList(plaintiffList);
|
meetUserJoinDTO.setDefendantList(defendantList);
|
meetUserJoinDTO.setOtherList(otherList);
|
return meetUserJoinDTO;
|
}
|
|
/**
|
* 更新当事人身份证号码
|
* @param idcard 身份证号码
|
* @param userId 用户编号
|
* @param caseId 纠纷编号
|
*/
|
public void updateIdcardByUserId(String idcard, String userId, String caseId){
|
try{
|
UpdateWrapper<MeetUser> meetUserUpdateWrapper = new UpdateWrapper<>();
|
meetUserUpdateWrapper.eq("user_id", userId);
|
meetUserUpdateWrapper.eq("case_id", caseId);
|
meetUserUpdateWrapper.set("user_idcard", idcard);
|
this.update(meetUserUpdateWrapper);
|
}catch (Exception e){
|
log.error("service方法[MeetUserService.updateIdcardByUserId]调用异常:"+e, e);
|
throw new ServiceException("MeetUserService.updateIdcardByUserId", e);
|
}
|
}
|
|
/**
|
* 根据会议编号删除
|
* @param meetId 会议编号
|
*/
|
public void removeByMeetId(String meetId){
|
try{
|
QueryWrapper<MeetUser> meetUserQueryWrapper = new QueryWrapper<>();
|
meetUserQueryWrapper.eq("meet_id", meetId);
|
mapper.delete(meetUserQueryWrapper);
|
}catch (Exception e){
|
log.error("service方法[MeetUserService.removeByMeetId]调用异常:"+e, e);
|
throw new ServiceException("MeetUserService.removeByMeetId", e);
|
}
|
}
|
}
|