change 4 rokov pred
rodič
commit
fa61a842c7

+ 12 - 11
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -315,7 +315,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
             query.setEndTime(tt);
             ranKingUser = baseMapper.selectByRank(query);
             if (ranKingUser != null && ranKingUser.getHourse() != null) {
-                Integer rank = baseMapper.selectByRankOne(Convert.toInt(ranKingUser.getHourse()));
+                Integer rank = baseMapper.selectByRankOneByTime(Convert.toInt(ranKingUser.getHourse()),zero,tt);
                 ranKingUser.setRank(rank);
             } else {
                 ranKingUser = baseMapper.selectByOneRank(query);
@@ -331,12 +331,6 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
                 ranKingUser.setRanKingUsers(new ArrayList<>());
             }
         } else {
-            Calendar cal = Calendar.getInstance();
-            int month = cal.get(Calendar.MONTH) + 1;
-            Long firstDayOfMonth = getFirstDayOfMonth(month);
-            Long lastDayOfMonth = getLastDayOfMonth(month);
-            query.setStartTime(firstDayOfMonth);
-            query.setEndTime(lastDayOfMonth);
             ranKingUser = baseMapper.selectByRank(query);
             if (ranKingUser != null && ranKingUser.getHourse() != null) {
                 Integer rank = baseMapper.selectByRankOne(Convert.toInt(ranKingUser.getHourse()));
@@ -360,10 +354,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         }
         if (!CollectionUtils.isEmpty(ranKingUser.getRanKingUsers())){
             ranKingUser.getRanKingUsers().stream().forEach(c -> {
-                c.setHourse(getHour(c.getHourse()));
+                if (c.getHourse() !=null) {
+                    c.setHourse(getHour(c.getHourse()));
+                }
             });
         }
-        ranKingUser.setRank(ranKingUser.getRank()+1);
+        if (ranKingUser.getRank() == 0) {
+            ranKingUser.setRank(ranKingUser.getRank() + 1);
+        }
         return ranKingUser;
 
     }
@@ -396,8 +394,11 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         query.setEndTime(tt);
         RanKingUser ranKingUser = baseMapper.selectByRank(query);
         if (ranKingUser != null && ranKingUser.getHourse() != null) {
-            Integer rank = baseMapper.selectByRankOne(Convert.toInt(ranKingUser.getHourse()));
-            return rank+1;
+            Integer rank = baseMapper.selectByRankOneByTime(Convert.toInt(ranKingUser.getHourse()),zero,tt);
+            if (rank == 0) {
+                return rank + 1;
+            }
+            return rank;
          }
         return 0;
     }

+ 0 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/alioss/service/impl/OssServiceImpl.java

@@ -168,8 +168,6 @@ public class OssServiceImpl implements OssService {
              PutObjectResult putObjectResult = ossClient.putObject(ALIYUN_OSS_BUCKET_NAME, fileName, inputStream);
              // 关闭OSSClient。
             //ossClient.shutdown();
-
-                System.out.println(fileName);
             return fileName;
         }catch(Exception e) {
             e.printStackTrace();

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/user/mapper/UserMapper.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.user.vo.RanKingUser;
 import com.zhongzheng.modules.user.vo.UserStudyRecordVo;
 import com.zhongzheng.modules.user.vo.UserVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -32,4 +33,6 @@ public interface UserMapper extends BaseMapper<User> {
     List<User> selectList(UserQueryBo bo);
 
     List<UserStudyRecordVo> selectStudyRecordList(UserStudyRecordQueryBo bo);
+
+    Integer selectByRankOneByTime(@Param("hourse") Integer toInt,@Param("startTime") long startTime,@Param("endTime") long endTime);
 }

+ 14 - 2
zhongzheng-system/src/main/resources/mapper/modules/user/UserMapper.xml

@@ -86,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             (
             SELECT sum(s.study_duration) AS sum_study,u.nickname,u.avatar  FROM `user` u
             LEFT JOIN user_study_record s ON u.user_id=s.user_id where 1=1
-        <if test="userId != null and userId != ''">
+        <if test="startTime != null and startTime != ''">
             AND s.create_time BETWEEN #{startTime} and #{endTime}
         </if>
             GROUP BY u.user_id ORDER BY sum_study desc LIMIT 20
@@ -97,10 +97,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         SELECT
             COUNT(s.sum_study)
         FROM
-            (SELECT sum( s.study_duration ) AS sum_study FROM user_study_record s WHERE 1 = 1 GROUP BY s.user_id) s
+            (SELECT sum( s.study_duration ) AS sum_study FROM user_study_record s  WHERE 1 = 1 GROUP BY s.user_id) s
         WHERE s.sum_study >= #{hourse}
     </select>
 
+    <select id="selectByRankOneByTime" parameterType="map" resultType="int">
+        SELECT
+            COUNT(s.sum_study)
+        FROM
+            (SELECT sum( s.study_duration ) AS sum_study FROM user_study_record s  WHERE 1 = 1
+        <if test="startTime != null and startTime != ''">
+            and s.create_time BETWEEN #{startTime} and #{endTime}
+        </if>
+            GROUP BY s.user_id) s
+        WHERE s.sum_study >= #{hourse}
+
+    </select>
 
 
     <select id="selectByOneRank" parameterType="com.zhongzheng.modules.user.bo.RanKingUserQuery" resultMap="RanKingUserResult">