Pārlūkot izejas kodu

修复股东大盘分红分页问题

lixueqiang 2 gadi atpakaļ
vecāks
revīzija
7094e2efb2

+ 2 - 1
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/controller/kxsapp/ShareholderController.java

@@ -6,6 +6,7 @@ import com.kxs.common.security.annotation.Inner;
 import com.kxs.user.api.dto.kxsapp.IntegralStatDTO;
 import com.kxs.user.api.model.KxsShdScore;
 import com.kxs.user.api.model.KxsUserRealLevel;
+import com.kxs.user.api.vo.kxsapp.subGetShareholderUserList.UserScoreListVO;
 import com.kxs.user.biz.service.KxsShdScoreService;
 import com.kxs.user.biz.service.KxsShdTradeAmtService;
 import com.kxs.user.biz.service.KxsUserRealLevelService;
@@ -63,7 +64,7 @@ public class ShareholderController {
      * @return 股东大盘分红-获取达标股东信息
      */
     @GetMapping("/getShareholderUserList")
-    public R getShareholderUserList(@ParameterObject Page<KxsShdScore> page, @RequestParam("month") String month, @RequestParam("type") Integer type) {
+    public R getShareholderUserList(@ParameterObject Page<UserScoreListVO> page, @RequestParam("month") String month, @RequestParam("type") Integer type) {
         return R.ok(kxsShdScoreService.getShareholderUserList(page, month, type));
     }
 

+ 1 - 1
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/mapper/KxsShdScoreMapper.java

@@ -22,6 +22,6 @@ public interface KxsShdScoreMapper extends BaseMapper<KxsShdScore> {
 
     ShareholderGetMyStandardsAllVO getMyStandardsAll(@Param("month") String month);
 
-    Page<UserScoreListVO> getShareholderHighScoreUserList(Page<KxsShdScore> page, @Param("month") String month, @Param("type") Integer type);
+    Page<UserScoreListVO> getShareholderHighScoreUserList(Page<UserScoreListVO> page, @Param("month") String month, @Param("type") Integer type);
 }
 

+ 2 - 1
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/KxsShdScoreService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.kxs.user.api.dto.kxsapp.IntegralStatDTO;
 import com.kxs.user.api.model.KxsShdScore;
+import com.kxs.user.api.vo.kxsapp.subGetShareholderUserList.UserScoreListVO;
 
 import java.math.BigDecimal;
 import java.util.List;
@@ -18,7 +19,7 @@ public interface KxsShdScoreService extends IService<KxsShdScore> {
 
     Object getMyStandards(String month);
 
-    Object getShareholderUserList(Page<KxsShdScore> page, String month, Integer type);
+    Object getShareholderUserList(Page<UserScoreListVO> page, String month, Integer type);
 
     /**
      * 积分统计

+ 3 - 12
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsShdScoreServiceImpl.java

@@ -64,19 +64,10 @@ public class KxsShdScoreServiceImpl extends ServiceImpl<KxsShdScoreMapper, KxsSh
     }
 
     @Override
-    public Object getShareholderUserList(Page<KxsShdScore> page, String month, Integer type) {
+    public Object getShareholderUserList(Page<UserScoreListVO> page, String month, Integer type) {
         month = month.split("-")[0] + month.split("-")[1];
-        Page<UserScoreListVO> shareholderHighScoreUserList = kxsShdScoreMapper.getShareholderHighScoreUserList(page, month, type);
-        for (UserScoreListVO record : shareholderHighScoreUserList.getRecords()) {
-            //获取用户头像
-            KxsUser kxsUser = kxsUserMapper.selectById(record.getUserId());
-            if (kxsUser != null) {
-                record.setAvatar(kxsUser.getAvatar());
-                record.setUsername(kxsUser.getUsername());
-                record.setUserCode(kxsUser.getUserCode());
-            }
-        }
-        return shareholderHighScoreUserList;
+
+        return kxsShdScoreMapper.getShareholderHighScoreUserList(page, month, type);
     }
 
     @Override

+ 12 - 21
kxs-user/kxs-user-biz/src/main/resources/mapper/KxsShdScoreMapper.xml

@@ -51,43 +51,34 @@
     <select id="getShareholderHighScoreUserList"
             resultType="com.kxs.user.api.vo.kxsapp.subGetShareholderUserList.UserScoreListVO">
         SELECT
+        a.id, u.username, u.user_code, a.user_id, u.avatar,
         <choose>
             <when test="type == 1">
-                first_score/3 AS score
+                FLOOR(a.first_score/3) AS score
             </when>
             <when test="type == 2">
-                center_score/3 AS score
+                FLOOR(a.center_score/3) AS score
             </when>
             <when test="type == 3">
-                high_score/3 AS score
-            </when>
-        </choose>,
-        id,username,user_code,id,user_id
-        FROM kxs_shd_score
-        WHERE del_flag != 1
-        <choose>
-            <when test="type == 1">
-                AND first_score >= 3
-            </when>
-            <when test="type == 2">
-                AND center_score >= 3
-            </when>
-            <when test="type == 3">
-                AND high_score >= 3
+                FLOOR(a.high_score/3) AS score
             </when>
         </choose>
-        AND month = #{month}
+        FROM kxs_shd_score a
+        LEFT JOIN kxs_user u on u.id = a.user_id
+        WHERE a.del_flag != 1
         <choose>
             <when test="type == 1">
-                ORDER BY first_score DESC
+                AND a.first_score >= 3
             </when>
             <when test="type == 2">
-                ORDER BY center_score DESC
+                AND a.center_score >= 3
             </when>
             <when test="type == 3">
-                ORDER BY high_score DESC
+                AND a.high_score >= 3
             </when>
         </choose>
+        AND a.month = #{month}
+        ORDER BY score DESC
     </select>