| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.zsElectric.boot.business.mapper.UserInfoMapper">
- <!-- 获取个人用户信息分页列表 -->
- <select id="getUserInfoPage" resultType="com.zsElectric.boot.business.model.vo.UserInfoVO">
- SELECT
- ui.id,
- ui.nick_name,
- fi.name AS firmName,
- ui.phone,
- ui.openid,
- IFNULL(ua.balance, 0) AS balance,
- IFNULL(log.total_consumption, 0) AS totalConsumption,
- ui.create_time
- FROM
- c_user_info ui
- LEFT JOIN c_user_firm uf ON uf.user_id = ui.id AND uf.is_deleted = 0
- LEFT JOIN c_firm_info fi ON fi.id = uf.firm_id AND fi.is_deleted = 0
- LEFT JOIN c_user_account ua ON ua.user_id = ui.id AND ua.is_deleted = 0
- LEFT JOIN (
- SELECT user_id, SUM(IFNULL(change_balance, 0)) AS total_consumption
- FROM c_user_account_log
- WHERE is_deleted = 0 AND change_type = 1
- GROUP BY user_id
- ) log ON ui.id = log.user_id
- <where>
- ui.is_deleted = 0
- <if test="queryParams.phone != null and queryParams.phone != ''">
- AND ui.phone LIKE CONCAT('%', #{queryParams.phone}, '%')
- </if>
- <if test="queryParams.firmId != null">
- AND uf.firm_id = #{queryParams.firmId}
- </if>
- </where>
- <choose>
- <when test="queryParams.sortField == 'balance' and queryParams.sortOrder == 'ascending'">
- ORDER BY balance ASC
- </when>
- <when test="queryParams.sortField == 'balance' and queryParams.sortOrder == 'descending'">
- ORDER BY balance DESC
- </when>
- <when test="queryParams.sortField == 'totalConsumption' and queryParams.sortOrder == 'ascending'">
- ORDER BY totalConsumption ASC
- </when>
- <when test="queryParams.sortField == 'totalConsumption' and queryParams.sortOrder == 'descending'">
- ORDER BY totalConsumption DESC
- </when>
- <otherwise>
- ORDER BY ui.create_time DESC
- </otherwise>
- </choose>
- </select>
- <select id="getAppletUserInfo" resultType="com.zsElectric.boot.business.model.vo.applet.AppUserInfoVO">
- SELECT
- ui.id AS appletUserId,
- ui.nick_name,
- ui.phone,
- ui.openid,
- ua.integral,
- ua.balance,
- ua.redeem_balance,
- (ua.balance + ua.redeem_balance) AS accountBalance,
- uf.firm_id,
- uf.type AS firmUserType,
- fi.name AS firmName
- FROM
- c_user_info ui
- LEFT JOIN c_user_account ua ON ui.id = ua.user_id
- LEFT JOIN c_user_firm uf ON ui.id = uf.user_id
- LEFT JOIN c_firm_info fi ON uf.firm_id = fi.id
- WHERE
- ui.is_deleted = 0
- AND ui.id = #{userId}
- </select>
- </mapper>
|