guomengjiao месяцев назад: 3
Родитель
Сommit
dab732084e

+ 8 - 7
ruoyi-user/src/main/java/com/ruoyi/user/service/impl/UserServiceImpl.java

@@ -100,7 +100,7 @@ public class UserServiceImpl implements IUserService {
         if(ObjectUtil.isNull(userVo)) {
             return null;
         }
-        return convertVo(userVo, false);
+        return convertVo(userVo, null);
     }
 
     /**
@@ -119,27 +119,28 @@ public class UserServiceImpl implements IUserService {
         }
         LambdaQueryWrapper<User> lqw = buildQueryWrapper(bo);
         Page<UserVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
-        result.setRecords(convertList(result.getRecords(), false));
+        result.setRecords(convertList(result.getRecords(), null));
         return TableDataInfo.build(result);
     }
 
-    private List<UserVo> convertList(List<UserVo> list, boolean isBusiness) {
+    private List<UserVo> convertList(List<UserVo> list, Long businessId) {
         if(ObjectUtil.isEmpty(list)) {
             return new ArrayList<>();
         }
-        return list.stream().map(item -> convertVo(item, isBusiness)).collect(Collectors.toList());
+        return list.stream().map(item -> convertVo(item, businessId)).collect(Collectors.toList());
     }
 
-    private UserVo convertVo(UserVo userVo, boolean isBusiness) {
+    private UserVo convertVo(UserVo userVo, Long businessId) {
         UserBo userBo = new UserBo();
         userBo.setId(userVo.getId());
+        userBo.setBusinessId(businessId);
         userVo.setSurplusQueueMoney(baseMapper.querySurplusQueueMoney(userBo));
         UserStatisticsVo userStatisticsVo = baseMapper.querySubsidyMoney(userBo);
         if (ObjectUtil.isNotNull(userStatisticsVo)) {
             userVo.setShouldSubsidyMoney(userStatisticsVo.getShouldSubsidyMoney());
             userVo.setAlreadySubsidyMoney(userStatisticsVo.getAlreadySubsidyMoney());
         }
-        if (!isBusiness) {
+        if (ObjectUtil.isNull(businessId)) {
             UserStatisticsVo statistics = baseMapper.statistics(userBo);
             if (ObjectUtil.isNotNull(statistics)) {
                 userVo.setAvailablePoint(statistics.getAvailablePoint());
@@ -830,7 +831,7 @@ public class UserServiceImpl implements IUserService {
             bo.setCreateDayEnd(DateUtil.endOfDay(bo.getCreateDayEnd()));
         }
         Page<UserVo> result = baseMapper.selectBusinessPage(pageQuery.build(), bo);
-        result.setRecords(convertList(result.getRecords(), true));
+        result.setRecords(convertList(result.getRecords(), bo.getBusinessId()));
         return TableDataInfo.build(result);
     }
 

+ 6 - 0
ruoyi-user/src/main/resources/mapper/user/UserMapper.xml

@@ -97,7 +97,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="queryAvailableBalance" resultType="java.math.BigDecimal">
         select sum(u.balance) from tb_user u
+        <if test="bo.businessId != null">
+            join tb_user_business_role ub on u.id = ub.user_id
+        </if>
         <where>
+            <if test="bo.businessId != null">
+                and ub.business_id = #{bo.businessId}
+            </if>
             <include refid="whereByStatis"/>
         </where>
     </select>