|
@@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
import com.ruoyi.common.core.domain.entity.SysDictData;
|
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
import com.ruoyi.common.core.redis.RedisCache;
|
|
|
+import com.ruoyi.common.exception.ServiceException;
|
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
@@ -134,65 +135,70 @@ public class SysUserConferenceServiceImpl implements ISysUserConferenceService {
|
|
|
//查询贷款信息
|
|
|
LoanApplication loanApplication = loanApplicationMapper.selectLoanApplicationByLoanApplicationId(sysUserConference.getLoanApplicationId());
|
|
|
//主表赋值
|
|
|
- loanApplication.setReviewTime(sysUserConference.getConferenceTime());
|
|
|
- loanApplication.setReviewSchedule(FOR);
|
|
|
- loanApplicationMapper.updateLoanApplication(loanApplication);
|
|
|
+ LoanApplication application = new LoanApplication();
|
|
|
+ application.setReviewTime(sysUserConference.getConferenceTime());
|
|
|
+ application.setReviewSchedule(FOR);
|
|
|
+ application.setLoanApplicationId(loanApplication.getLoanApplicationId());
|
|
|
+ loanApplicationMapper.updateLoanApplication(application);
|
|
|
|
|
|
redisCache.setCacheObject(sysUserConference.getLoanApplicationNumber() + "tp", FOR);
|
|
|
-
|
|
|
//查询参会人员的字典值
|
|
|
List<SysDictData> data = dictTypeService.selectDictDataByType("conference_role");
|
|
|
- List<String> strlist = data.stream().map(SysDictData::getDictValue).collect(Collectors.toList());
|
|
|
+ Set<String> strlist = data.stream().map(SysDictData::getDictValue).collect(Collectors.toSet());
|
|
|
//查询人员
|
|
|
List<SysUser> userList = userMapper.selectUserManageList(strlist);
|
|
|
- //生成0-n的随机数
|
|
|
- List<Integer> intList = new ArrayList<>();
|
|
|
- Random random = new Random();
|
|
|
- while (num < 5) {
|
|
|
- int randomNumber = random.nextInt(userList.size() - 1);
|
|
|
- if (intList.size() > 0 && intList.contains(randomNumber)) {
|
|
|
- continue;
|
|
|
- }
|
|
|
- SysUser sysUser = userList.get(randomNumber);
|
|
|
+ //去掉项目本身的A,B,风险
|
|
|
+ for (SysUser sysUser : userList) {
|
|
|
//A
|
|
|
boolean b1 = sysUser.getUserId().equals(loanApplication.getaUserId());
|
|
|
//B
|
|
|
boolean b2 = sysUser.getUserId().equals(loanApplication.getbUserId());
|
|
|
//风险
|
|
|
boolean b3 = sysUser.getUserId().equals(loanApplication.getfUserId());
|
|
|
- //只有同时满足随机人员不是这三个时才能加入参会人员
|
|
|
- if (!b1 && !b2 && !b3) {
|
|
|
- //将信息存入库
|
|
|
- SysUserConference userConference = new SysUserConference();
|
|
|
- userConference.setUserId(sysUser.getUserId());
|
|
|
- userConference.setRealName(sysUser.getNickName());
|
|
|
- userConference.setLoanApplicationId(sysUserConference.getLoanApplicationId());
|
|
|
- userConference.setLoanApplicationName(loanApplication.getEnterpriseName());
|
|
|
- userConference.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
- userConference.setConferenceTime(sysUserConference.getConferenceTime());
|
|
|
- sysUserConferenceMapper.insertSysUserConference(userConference);
|
|
|
- //给人员发生代办信息
|
|
|
- WaitRemind waitRemind = new WaitRemind();
|
|
|
- waitRemind.setLoanApplicationId(sysUserConference.getLoanApplicationId());
|
|
|
- waitRemind.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
- waitRemind.setRemindTitle("您有一条【" + loanApplication.getEnterpriseName() + "】评审会议");
|
|
|
- waitRemind.setRemindTime(DateUtils.getNowDate());
|
|
|
- waitRemind.setRemindType("12");
|
|
|
- waitRemind.setReadUserId(sysUser.getUserId().toString());
|
|
|
- waitRemind.setRemindContent("您有一个评审会议需参加,会议时间:" + sysUserConference.getConferenceTime() + ",会议主题:【" + loanApplication.getEnterpriseName() + "】评审会");
|
|
|
- waitRemindMapper.insertWaitRemind(waitRemind);
|
|
|
- num++;
|
|
|
- intList.add(randomNumber);
|
|
|
-
|
|
|
- //发极光推送
|
|
|
- SysUser user = sysUserService.selectUserById(sysUser.getUserId());
|
|
|
- if (StringUtils.isNotEmpty(user.getJgId())) {
|
|
|
- String notificationTitle = "消息通知";
|
|
|
- String msgTitle = "评审会议";
|
|
|
- String msgContent = "您有一个评审会议需参加,会议时间:" + sysUserConference.getConferenceTime() + ",会议主题:【" + loanApplication.getEnterpriseName() + "】评审会";
|
|
|
- String jPushVO = "";
|
|
|
- JPushToolUtil.sendToRegistrationId(notificationTitle, msgTitle, msgContent, jPushVO, user.getJgId());
|
|
|
- }
|
|
|
+ if (b1 || b2 || b3) {
|
|
|
+ userList.remove(sysUser);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //生成0-n的随机数
|
|
|
+ List<Integer> intList = new ArrayList<>();
|
|
|
+ Random random = new Random();
|
|
|
+ if (userList.size() < 5) {
|
|
|
+ throw new ServiceException("符合参会人员数量不足,无法开启会议");
|
|
|
+ }
|
|
|
+ while (num < 5) {
|
|
|
+ int randomNumber = random.nextInt(userList.size() - 1);
|
|
|
+ SysUser sysUser = userList.get(randomNumber);
|
|
|
+
|
|
|
+ //将信息存入库
|
|
|
+ SysUserConference userConference = new SysUserConference();
|
|
|
+ userConference.setUserId(sysUser.getUserId());
|
|
|
+ userConference.setRealName(sysUser.getNickName());
|
|
|
+ userConference.setLoanApplicationId(sysUserConference.getLoanApplicationId());
|
|
|
+ userConference.setLoanApplicationName(loanApplication.getEnterpriseName());
|
|
|
+ userConference.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
+ userConference.setConferenceTime(sysUserConference.getConferenceTime());
|
|
|
+ sysUserConferenceMapper.insertSysUserConference(userConference);
|
|
|
+ //给人员发生代办信息
|
|
|
+ WaitRemind waitRemind = new WaitRemind();
|
|
|
+ waitRemind.setLoanApplicationId(sysUserConference.getLoanApplicationId());
|
|
|
+ waitRemind.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
+ waitRemind.setRemindTitle("您有一条【" + loanApplication.getEnterpriseName() + "】评审会议");
|
|
|
+ waitRemind.setRemindTime(DateUtils.getNowDate());
|
|
|
+ waitRemind.setRemindType("12");
|
|
|
+ waitRemind.setReadUserId(sysUser.getUserId().toString());
|
|
|
+ waitRemind.setRemindContent("您有一个评审会议需参加,会议时间:" + sysUserConference.getConferenceTime() + ",会议主题:【" + loanApplication.getEnterpriseName() + "】评审会");
|
|
|
+ waitRemindMapper.insertWaitRemind(waitRemind);
|
|
|
+ num++;
|
|
|
+ intList.add(randomNumber);
|
|
|
+ userList.remove(sysUser);
|
|
|
+ //发极光推送
|
|
|
+ SysUser user = sysUserService.selectUserById(sysUser.getUserId());
|
|
|
+ if (StringUtils.isNotEmpty(user.getJgId())) {
|
|
|
+ String notificationTitle = "消息通知";
|
|
|
+ String msgTitle = "评审会议";
|
|
|
+ String msgContent = "您有一个评审会议需参加,会议时间:" + sysUserConference.getConferenceTime() + ",会议主题:【" + loanApplication.getEnterpriseName() + "】评审会";
|
|
|
+ String jPushVO = "";
|
|
|
+ JPushToolUtil.sendToRegistrationId(notificationTitle, msgTitle, msgContent, jPushVO, user.getJgId());
|
|
|
}
|
|
|
}
|
|
|
return AjaxResult.success("成功");
|