LIVE_YE 6 months ago
parent
commit
b9d812b3b5

+ 2 - 1
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -1,6 +1,7 @@
 package com.ruoyi.system.mapper;
 
 import java.util.List;
+import java.util.Set;
 
 import com.ruoyi.system.domain.conference.SysUserConference;
 import org.apache.ibatis.annotations.Param;
@@ -130,7 +131,7 @@ public interface SysUserMapper
 
     public SysUser selectUserByPhonenumber(String userName);
 
-    List<SysUser> selectUserManageList(List<String> strlist);
+    List<SysUser> selectUserManageList(@Param("set") Set<String> strlist);
 
     List<SysUser> selectUserListByIdList(List<Long> userIdList);
 }

+ 53 - 47
ruoyi-system/src/main/java/com/ruoyi/system/service/conference/impl/SysUserConferenceServiceImpl.java

@@ -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("成功");

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/webOfficeImpl/PreviewServiceImpl.java

@@ -87,6 +87,7 @@ public class PreviewServiceImpl implements PreviewService {
                 .rename(true)
                 .download(true)
                 .copy(true)
+                .print(true)
                 .comment(true)
                 .history(true)
                 .build();

+ 7 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/webOfficeImpl/UserServiceImpl.java

@@ -4,6 +4,8 @@ import cn.ljserver.tool.weboffice.v3.model.UserInfo;
 import cn.ljserver.tool.weboffice.v3.service.UserService;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.system.mapper.SysUserMapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -17,6 +19,9 @@ import java.util.List;
 @Service
 public class UserServiceImpl implements UserService {
 
+    @Autowired
+    private SysUserMapper userMapper;
+
     /**
      * 获取用户信息
      *
@@ -33,7 +38,8 @@ public class UserServiceImpl implements UserService {
         }*/
 
         List<UserInfo> userInfoList = new ArrayList<>();
-        SysUser user = SecurityUtils.getLoginUser().getUser();
+        SysUser user = userMapper.selectUserById(Long.valueOf(userIds.get(0)));
+        System.out.println("ttttttttttttttttttttttttttttt"+user.toString());
         UserInfo userInfo = new UserInfo();
         userInfo.setId(String.valueOf(user.getUserId()));
         userInfo.setName(user.getNickName());

+ 1 - 1
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -166,7 +166,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 				 left join sys_user_role ur on u.user_id = ur.user_id
 				 left join sys_role r on r.role_id = ur.role_id
 		where  u.del_flag = '0' and u.status = '0' and r.role_key in
-		<foreach collection="list" item="item" open="(" separator="," close=")">
+		<foreach collection="set" item="item" open="(" separator="," close=")">
 			#{item}
 		</foreach>