Commit c509ade4 authored by hanfeng's avatar hanfeng

优化用户查询

parent 56a325c0
......@@ -43,7 +43,7 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
private AppUserLoginMapper appUserLoginMapper;
@Autowired
private BaseUserMemberMapper baseUserMemberMapper;
private AppUserDetailBiz appUserDetailBiz;
@Autowired
private VehicleFeign vehicleFeign;
......@@ -56,7 +56,7 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
*/
public PageInfo<AppUserManageVo> findAllByQuery(AppUserManageDTO appUserManageDTO) {
PageHelper.startPage(appUserManageDTO.getPage(), appUserManageDTO.getLimit());
List<AppUserManageVo> appUserManageVos = mapper.selectAppUserManage(appUserManageDTO);
List<AppUserManageVo> appUserManageVos = mapper.selectAppUser(appUserManageDTO);
PageInfo<AppUserManageVo> pageInfo = PageInfo.of(appUserManageVos);
if (pageInfo.getList()==null||pageInfo.getList().size()==0) {
return pageInfo;
......@@ -85,6 +85,7 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
Long cityCode = Long.valueOf(appUserManageVo.getCityCode());
String crtyName = map.get(cityCode);
appUserManageVo.setCityName(crtyName);
}
}
......@@ -99,12 +100,18 @@ public class AppUserManageBiz extends BaseBiz<AppUserDetailMapper, AppUserDetail
*/
public PageInfo<AppUserManageVo> findAllByQueryAndCity(AppUserManageDTO appUserManageDTO) {
PageHelper.startPage(appUserManageDTO.getPage(), appUserManageDTO.getLimit());
List<AppUserManageVo> appUserManageVos = mapper.selectAppUserManage(appUserManageDTO);
List<AppUserManageVo> appUserManageVos = mapper.selectAppUser(appUserManageDTO);
if (CollectionUtils.isEmpty(appUserManageVos)) {
return new PageInfo<AppUserManageVo>();
}else {
for (AppUserManageVo appUserManageVo : appUserManageVos) {
Integer parentId = appUserManageVo.getParentId();
AppUserManageVo parentUser = appUserLoginMapper.selectByParentId(parentId);
appUserManageVo.setNameOfSuperior(parentUser.getNameOfSuperior());
appUserManageVo.setSuperiorMobileNumber(parentUser.getSuperiorMobileNumber());
}
}
// Set<Integer> usSet = appUserManageDTO.getCitySet();
// List<AppUserManageVo> results = appUserManageVos.parallelStream().filter(us -> usSet.contains(us.getCityCode())).collect(Collectors.toList());
PageInfo<AppUserManageVo> pageInfo = PageInfo.of(appUserManageVos);
return getAppUserManageVoPageInfo(pageInfo);
}
......
......@@ -3,6 +3,7 @@ package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.bo.UserBo;
import com.github.wxiaoqi.security.admin.entity.AppUserLogin;
import com.github.wxiaoqi.security.admin.entity.AppUserManage;
import com.github.wxiaoqi.security.admin.vo.AppUserManageVo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
......@@ -36,4 +37,6 @@ public interface AppUserLoginMapper extends Mapper<AppUserLogin>, SelectByIdList
List<Integer> findAppUser(@Param("phone") String phone,@Param("name") String name,@Param("memberIds") List<Integer> memberIds);
List<UserBo> selectByUserIds(@Param("userIds") List<Integer> uids);
AppUserManageVo selectByParentId(@Param("parentId") Integer parentId);
}
\ No newline at end of file
......@@ -211,33 +211,39 @@
<update id="updateUserPositionByUserId">
update `app_user_detail` set `position_id`=#{positionId} where `userid`=#{userId}
</update>
<select id="selectAppUser" parameterType="com.github.wxiaoqi.security.admin.dto.AppUserManageDTO"
resultType="com.github.wxiaoqi.security.admin.vo.AppUserManageVo">
select
-- l.id As userid,
-- l.username,
-- d.channel,
-- d.source,
-- d.realname,
-- ml.name as memberName,
-- aup.name as positionName,
-- IFNULL(pd.realname,pd.nickname) as nameOfSuperior,
-- pl.username AS superiorMobileNumber,
-- m.crt_time as timeOfMembership,
-- m.total_number as totalNumber,
-- m.rent_free_days as rentFreeDays
*
from
SELECT
l.id AS userid,
l.username,
d.channel,
d.source,
d.realname,
ml.name as memberName,
m.member_level AS memberLevel,
aup.name AS positionName,
r.parent_id AS parentId,
m.crt_time AS timeOfMembership,
m.total_number AS totalNumber,
m.rent_free_days AS rentFreeDays,
m.member_level
FROM
app_user_login l
LEFT JOIN app_user_detail on d.userid = l.id
LEFT JOIN base_user_member m ON l.id = m.user_id
-- LEFT JOIN (select * from base_user_member_level where ml.isdel=0 ) ml ON ml.level = m.member_level
-- LEFT JOIN app_user_position aup ON aup.id = d.position_id
-- LEFT JOIN (select * from app_user_relation where is_del=0) r ON l.id=r.user_id
-- LEFT JOIN (select * from app_user_login where isdel = 0) pl ON r.parent_id = l.id
-- LEFT JOIN app_user_detail pd ON pl.id = pd.userid
where l.isdel = 0
INNER JOIN app_user_detail d ON d.userid = l.id
LEFT JOIN base_user_member m ON d.userid = m.user_id
LEFT JOIN (select * from base_user_member_level where isdel=0 ) ml ON ml.level = m.member_level
LEFT JOIN app_user_position aup ON aup.id = d.position_id
LEFT JOIN (
SELECT
user_id,
parent_id
FROM
app_user_relation
WHERE
is_del = 0
) r ON l.id = r.user_id
WHERE
l.isdel = 0
<if test="mobile !=null and mobile !='' ">
and l.username like CONCAT('%',#{mobile},'%')
</if>
......@@ -284,4 +290,6 @@
order by l.id ASC
</select>
</mapper>
\ No newline at end of file
......@@ -55,4 +55,9 @@
INNER JOIN
`app_user_detail` AS `aud` ON aud.userid=aul.id
</select>
<select id="selectByParentId" resultType="com.github.wxiaoqi.security.admin.vo.AppUserManageVo">
select IFNULL(d.realname, d.nickname) AS nameOfSuperior,l.username AS superiorMobileNumber
from app_user_login l left join app_user_detail d on l.id = d.userid where l.isdel=0 and l.id =#{parentId}
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment