Administrator 1 year ago
parent
commit
dbdb095ea5
18 changed files with 89 additions and 26 deletions
  1. 2 2
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/assessment/ZxAssessmentController.java
  2. 3 1
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SendSmsController.java
  3. 6 1
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
  4. 0 3
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
  5. 1 1
      ruoyi-admin/src/main/resources/application-druid.yml
  6. 1 1
      ruoyi-common/src/main/java/com/ruoyi/common/utils/SendSmsUtils.java
  7. 13 7
      ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java
  8. 1 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/MemberInfoMapper.java
  9. 1 0
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
  10. 1 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
  11. 12 0
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
  12. 13 1
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskService.java
  13. 6 4
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZxActivityServiceImpl.java
  14. 6 4
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZxConferenceServiceImpl.java
  15. 9 0
      ruoyi-system/src/main/resources/mapper/system/MemberInfoMapper.xml
  16. 12 1
      ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
  17. 1 0
      ruoyi-system/src/main/resources/mapper/system/ZxActivityMapper.xml
  18. 1 0
      ruoyi-system/src/main/resources/mapper/system/ZxConferenceMapper.xml

+ 2 - 2
ruoyi-admin/src/main/java/com/ruoyi/web/controller/assessment/ZxAssessmentController.java

@@ -75,9 +75,9 @@ public class ZxAssessmentController extends BaseController {
     @Log(title = "政协评价考核", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ZxAssessment zxAssessment) {
-        if (!zxAssessmentService.checkAssessmentProjectUnique(zxAssessment)) {
+/*        if (!zxAssessmentService.checkAssessmentProjectUnique(zxAssessment)) {
             return error("新增考核规则'" + zxAssessment.getAssessmentProject() + "'失败,考核规则已存在");
-        }
+        }*/
         return toAjax(zxAssessmentService.insertZxAssessment(zxAssessment));
     }
 

+ 3 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SendSmsController.java

@@ -13,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.concurrent.TimeUnit;
+
 import static com.ruoyi.common.constant.CommonConstants.LOGIN_USER_SMS;
 
 
@@ -36,7 +38,7 @@ public class SendSmsController {
     public AjaxResult sendLoginSms(@RequestBody LoginBody user) {
         String code = SendSmsUtils.getCode(4);
         String username = user.getUsername();
-        redisCache.setCacheObject(LOGIN_USER_SMS + username, code);
+        redisCache.setCacheObject(LOGIN_USER_SMS + username, code,5, TimeUnit.MINUTES);
         String msg = SendSmsUtils.sendPassword(code, username);
         System.out.println(username+"登录短信发送回复:"+msg);
         return AjaxResult.success();

+ 6 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java

@@ -73,12 +73,17 @@ public class SysLoginController
         MemberInfo memberInfo = new MemberInfo();
         memberInfo.setUserId(user.getUserId());
         AjaxResult ajax = AjaxResult.success();
-        ajax.put("memberInfo", null);
+        Boolean flag = false;
         List<MemberInfo> memberInfoList = memberInfoService.selectMemberInfoList(memberInfo);
         if (memberInfoList != null && memberInfoList.size() > 0){
             ajax.put("memberInfo", memberInfoList.get(0));
+        }else {
+            ajax.put("memberInfo", null);
+            //判断要不要弹框,首先判断是否是委员角色
+            flag = permissions.contains("zxwy");
         }
         ajax.put("user", user);
+        ajax.put("isMember", flag);
         ajax.put("roles", roles);
         ajax.put("permissions", permissions);
         return ajax;

+ 0 - 3
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java

@@ -161,9 +161,6 @@ public class SysUserController extends BaseController
         {
             return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
         }
-/*        else if (ONE.equals(userService.checkStrongPwd(user))) {
-            return AjaxResult.error("密码必须包含数字、大小写字母、特殊符号且大于8位");
-        }*/
         user.setUpdateBy(getUsername());
         return toAjax(userService.updateUser(user));
     }

+ 1 - 1
ruoyi-admin/src/main/resources/application-druid.yml

@@ -41,7 +41,7 @@ spring:
         # 密码
         password: Boman123
         # 连接超时时间
-        timeout: 10s
+        timeout: 20s
         lettuce:
             pool:
                 # 连接池中的最小空闲连接

+ 1 - 1
ruoyi-common/src/main/java/com/ruoyi/common/utils/SendSmsUtils.java

@@ -116,7 +116,7 @@ public class SendSmsUtils {
                 //手机号码
                 .setPhoneNumbers(phone)
                 //短信签名名称。潜山市数据资源局
-                .setSignName("中新云")
+                .setSignName("潜山市政协办公室")
                 //短信模板CODE
                 .setTemplateCode("SMS_219525380")
                 //短信模板变量对应的实际值{"name": code}

+ 13 - 7
ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/SysLoginService.java

@@ -69,7 +69,11 @@ public class SysLoginService {
         // 验证码校验
         validateCaptcha(username, code, uuid);
         //登录类型校验 如果是短信验证码登录,校验短信验证码是否正确,给密码 查询用户信息后赋值
-        password = validateType(username, type, password, code);
+        String[] strings = validateType(username, type, password, code);
+        if (strings != null && strings.length > 0){
+            password = strings[0];
+            username = strings[1];
+        }
         // 登录前置校验
         loginPreCheck(username, password);
         // 用户验证
@@ -162,22 +166,24 @@ public class SysLoginService {
      * @param password 用户密码
      * @param code     短信验证码
      */
-    public String validateType(String username, String type, String password, String code) {
+    public String[] validateType(String username, String type, String password, String code) {
         if (TWO.equals(type)) {
             //校验短信验证码
             Object cacheObject = redisCache.getCacheObject(LOGIN_USER_SMS + username);
             if (code.equals(cacheObject)) {
-                //根据用户名查询用户信息
-                SysUser sysUser = userService.selectUserByUserName(username);
-                if (sysUser == null){
+                //根据手机号查询用户信息
+                SysUser sysUser = userService.selectUserByPhonenumber(username);
+                if (sysUser == null) {
                     throw new UserPasswordNotMatchException();
                 }
                 password = sysUser.getPlaintext();
-            }else {
+                username = sysUser.getUserName();
+                redisCache.deleteObject(LOGIN_USER_SMS + username);
+            } else {
                 throw new CaptchaExpireException();
             }
         }
-        return password;
+        return new String[]{password,username};
     }
 
     /**

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/MemberInfoMapper.java

@@ -51,6 +51,7 @@ public interface MemberInfoMapper
      * @return 结果
      */
     public int updateMemberInfo(MemberInfo memberInfo);
+    public int updateMemberInfoByUserId(MemberInfo memberInfo);
 
     /**
      * 删除委员信息

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

@@ -42,6 +42,7 @@ public interface SysUserMapper
      * @return 用户对象信息
      */
     public SysUser selectUserByUserName(String userName);
+    public SysUser selectUserByPhonenumber(String userName);
 
     /**
      * 通过用户ID查询用户

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

@@ -41,6 +41,7 @@ public interface ISysUserService
      * @return 用户对象信息
      */
     public SysUser selectUserByUserName(String userName);
+    public SysUser selectUserByPhonenumber(String phonenumber);
 
     /**
      * 通过用户ID查询用户

+ 12 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -117,6 +117,18 @@ public class SysUserServiceImpl implements ISysUserService
         return userMapper.selectUserByUserName(userName);
     }
 
+    /**
+     * 通过手机号查询用户
+     *
+     * @param phonenumber 手机号
+     * @return 用户对象信息
+     */
+    @Override
+    public SysUser selectUserByPhonenumber(String phonenumber)
+    {
+        return userMapper.selectUserByPhonenumber(phonenumber);
+    }
+
     /**
      * 通过用户ID查询用户
      * 

+ 13 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TaskService.java

@@ -93,6 +93,12 @@ public class TaskService {
                 memberAssessmentInf.setUserId(userId);
                 memberAssessmentInf.setYear(year);
                 memberAssessmentInf.setTotalPeople(memberInfoSelect.size());
+                memberAssessmentInf.setProposalScore(0L);
+                memberAssessmentInf.setSqmyScore(0L);
+                memberAssessmentInf.setConferenceScore(0L);
+                memberAssessmentInf.setActivityScore(0L);
+                memberAssessmentInf.setBonusScore(0L);
+                memberAssessmentInf.setTotalScore(0L);
                 //查询提案情况
                 ProposalInfo proposalInfo = new ProposalInfo();
                 proposalInfo.setProposalUserId(userId);
@@ -359,7 +365,7 @@ public class TaskService {
             List<MemberAssessmentInfo> collect = memberAssessmentInfoListNew.stream().sorted(Comparator.comparing(MemberAssessmentInfo::getTotalScore).reversed()).collect(Collectors.toList());
             for (int i = 0; i < collect.size(); i++) {
                 MemberAssessmentInfo memberAssessmentInfoNew = collect.get(i);
-                Long totalScore = memberAssessmentInfo.getTotalScore();
+                Long totalScore = memberAssessmentInfoNew.getTotalScore();
                 if (!lastScore.equals(totalScore)) {
                     lastScore = totalScore;
                     index++;
@@ -372,6 +378,12 @@ public class TaskService {
                 } else {
                     memberAssessmentInfoMapper.insertMemberAssessmentInfo(memberAssessmentInfoNew);
                 }
+                MemberInfo memberInfo = new MemberInfo();
+                memberInfo.setUserId(memberAssessmentInfoNew.getUserId());
+                memberInfo.setScore(memberAssessmentInfoNew.getTotalScore());
+                memberInfo.setRanking(memberAssessmentInfoNew.getRank());
+                //更新委员主表
+                memberInfoMapper.updateMemberInfoByUserId(memberInfo);
             }
         }
         System.out.println("定时任务结束");

+ 6 - 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZxActivityServiceImpl.java

@@ -122,6 +122,7 @@ public class ZxActivityServiceImpl implements IZxActivityService {
     @Override
     public int updateReply(ZxActivityUser zxActivityUser) {
         zxActivityUser.setUserId(SecurityUtils.getUserId());
+        zxActivityUser.setReplyTime(DateUtils.getNowDate());
         return zxActivityMapper.updateReply(zxActivityUser);
     }
 
@@ -210,6 +211,7 @@ public class ZxActivityServiceImpl implements IZxActivityService {
                 String SignName = "潜山市政协办公室";
                 List<String> signNameList = new ArrayList<>();
                 List<String> templateList = new ArrayList<>();
+                List<String> phoneJsonList = new ArrayList<>();
                 StringBuffer signNameJson;
                 StringBuffer phoneNumberJson;
                 StringBuffer templateParamJson;
@@ -248,17 +250,17 @@ public class ZxActivityServiceImpl implements IZxActivityService {
                         phoneNumberJson.append("]");
                         signNameJson.append("]");
                         templateParamJson.append("]");
-                        phoneList.add(phoneNumberJson.toString());
+                        phoneJsonList.add(phoneNumberJson.toString());
                         signNameList.add(signNameJson.toString());
                         templateList.add(templateParamJson.toString());
                     }
                     //组装请求对象
-                    if (times == phoneList.size()) {
+                    if (times == phoneJsonList.size()) {
                         for (int i = 0; i < times; i++) {
                             long startTimeSql = System.currentTimeMillis();
                             SendBatchSmsRequest sendBatchSmsRequest = new SendBatchSmsRequest();
                             //组装电话号码
-                            sendBatchSmsRequest.setPhoneNumberJson(phoneList.get(i));
+                            sendBatchSmsRequest.setPhoneNumberJson(phoneJsonList.get(i));
                             //签名名称
                             sendBatchSmsRequest.setSignNameJson(signNameList.get(i));
                             //替换参数
@@ -275,7 +277,7 @@ public class ZxActivityServiceImpl implements IZxActivityService {
                                 String code = sendBatchSmsResponse.getBody().getCode();
                                 if (sendBatchSmsResponse.getBody().getCode() != null && "OK".equals(code)) {
                                     //批量请求发送短信成功
-                                    System.out.println("批量活动短信发送成功:" + phoneList.get(i).split(",").length + "条");
+                                    System.out.println("批量活动短信发送成功:" + phoneJsonList.get(i).split(",").length + "条");
                                     backResult = backResult + "第" + i + "次批量成功  ";
                                 } else {
                                     System.out.println("批量活动短信发送失败!");

+ 6 - 4
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZxConferenceServiceImpl.java

@@ -143,6 +143,7 @@ public class ZxConferenceServiceImpl implements IZxConferenceService {
     @Override
     public int updateReply(ZxConferenceUser zxConferenceUser) {
         zxConferenceUser.setUserId(SecurityUtils.getUserId());
+        zxConferenceUser.setReplyTime(DateUtils.getNowDate());
         return zxConferenceMapper.updateReply(zxConferenceUser);
     }
 
@@ -212,6 +213,7 @@ public class ZxConferenceServiceImpl implements IZxConferenceService {
                 String SignName = "潜山市政协办公室";
                 List<String> signNameList = new ArrayList<>();
                 List<String> templateList = new ArrayList<>();
+                List<String> phoneJsonList = new ArrayList<>();
                 StringBuffer signNameJson;
                 StringBuffer phoneNumberJson;
                 StringBuffer templateParamJson;
@@ -250,17 +252,17 @@ public class ZxConferenceServiceImpl implements IZxConferenceService {
                         phoneNumberJson.append("]");
                         signNameJson.append("]");
                         templateParamJson.append("]");
-                        phoneList.add(phoneNumberJson.toString());
+                        phoneJsonList.add(phoneNumberJson.toString());
                         signNameList.add(signNameJson.toString());
                         templateList.add(templateParamJson.toString());
                     }
                     //组装请求对象
-                    if (times == phoneList.size()) {
+                    if (times == phoneJsonList.size()) {
                         for (int i = 0; i < times; i++) {
                             long startTimeSql = System.currentTimeMillis();
                             SendBatchSmsRequest sendBatchSmsRequest = new SendBatchSmsRequest();
                             //组装电话号码
-                            sendBatchSmsRequest.setPhoneNumberJson(phoneList.get(i));
+                            sendBatchSmsRequest.setPhoneNumberJson(phoneJsonList.get(i));
                             //签名名称
                             sendBatchSmsRequest.setSignNameJson(signNameList.get(i));
                             //替换参数
@@ -277,7 +279,7 @@ public class ZxConferenceServiceImpl implements IZxConferenceService {
                                 String code = sendBatchSmsResponse.getBody().getCode();
                                 if (sendBatchSmsResponse.getBody().getCode() != null && "OK".equals(code)) {
                                     //批量请求发送短信成功
-                                    System.out.println("批量会议短信发送成功:" + phoneList.get(i).split(",").length + "条");
+                                    System.out.println("批量会议短信发送成功:" + phoneJsonList.get(i).split(",").length + "条");
                                     backResult = backResult + "第" + i + "次批量成功  ";
                                 } else {
                                     System.out.println("批量会议短信发送失败!");

+ 9 - 0
ruoyi-system/src/main/resources/mapper/system/MemberInfoMapper.xml

@@ -131,6 +131,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where member_id = #{memberId}
     </update>
 
+    <update id="updateMemberInfoByUserId" parameterType="MemberInfo">
+        update member_info
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="score != null and score != ''">score = #{score},</if>
+            <if test="ranking != null and ranking != ''">ranking = #{ranking},</if>
+        </trim>
+        where user_id = #{userId}
+    </update>
+
     <delete id="deleteMemberInfoByMemberId" parameterType="Long">
         delete from member_info where member_id = #{memberId}
     </delete>

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

@@ -131,6 +131,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 				 left join sys_role r on r.role_id = ur.role_id
 		where u.user_name = #{userName} and u.del_flag = '0'
 	</select>
+
+	<select id="selectUserByPhonenumber" parameterType="String" resultMap="SysUserResult">
+		select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password,u.plaintext, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
+			   d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
+			   r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
+		from sys_user u
+				 left join sys_dept d on u.dept_id = d.dept_id
+				 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.phonenumber = #{phonenumber} and u.del_flag = '0'
+	</select>
 	
 	<select id="selectUserById" parameterType="Long" resultMap="SysUserResult">
 		<include refid="selectUserVo"/>
@@ -214,7 +225,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</update>
 	
 	<update id="resetUserPwd" parameterType="SysUser">
- 		update sys_user set password = #{password} and plaintext = #{plaintext} where user_name = #{userName}
+ 		update sys_user set password = #{password} , plaintext = #{plaintext} where user_name = #{userName}
 	</update>
 	
 	<delete id="deleteUserById" parameterType="Long">

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

@@ -167,6 +167,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <update id="updateReply" parameterType="ZxActivityUser">
         update zx_activity_user
         <trim prefix="SET" suffixOverrides=",">
+            <if test="replyTime != null and replyTime != ''">reply_time = #{replyTime},</if>
             <if test="isJoin != null and isJoin != ''">is_join = #{isJoin},</if>
             <if test="leaveType != null and leaveType != ''">leave_type = #{leaveType},</if>
             <if test="leaveReason != null and leaveReason != ''">leave_reason = #{leaveReason},</if>

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

@@ -156,6 +156,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <update id="updateReply" parameterType="zxConferenceUser">
         update zx_conference_user
         <trim prefix="SET" suffixOverrides=",">
+            <if test="replyTime != null and replyTime != ''">reply_time = #{replyTime},</if>
             <if test="isJoin != null and isJoin != ''">is_join = #{isJoin},</if>
             <if test="leaveType != null and leaveType != ''">leave_type = #{leaveType},</if>
             <if test="leaveReason != null and leaveReason != ''">leave_reason = #{leaveReason},</if>