mitao
2024-06-06 3d2b51ea4520533de5e78f88dddf5b5c7dce4247
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?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.sinata.rest.modular.member.dao.MemUserMapper">
 
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.sinata.rest.modular.member.model.MemUser">
        <id column="id" property="id"/>
        <result column="create_time" property="createTime"/>
        <result column="phone" property="phone"/>
        <result column="nick_name" property="nickName"/>
        <result column="password" property="password"/>
        <result column="avatar" property="avatar"/>
        <result column="is_lock" property="isLock"/>
        <result column="is_delete" property="isDelete"/>
        <result column="show_id" property="showId"/>
        <result column="apply_time" property="applyTime" />
        <result column="audit_state" property="auditState" />
        <result column="audit_time" property="auditTime" />
        <result column="is_leave_office" property="isLeaveOffice" />
        <result column="leave_office_time" property="leaveOfficeTime" />
        <result column="card_type" property="cardType" />
        <result column="real_name" property="realName"/>
        <result column="id_card" property="idCard"/>
        <result column="city_code" property="cityCode"/>
        <result column="member_grade_id" property="memberGradeId"/>
        <result column="member_grade_time" property="memberGradeTime"/>
        <result column="sex" property="sex"/>
        <result column="birthday" property="birthday"/>
        <result column="signature" property="signature"/>
        <result column="address" property="address"/>
        <result column="check_time" property="checkTime"/>
        <result column="check_num" property="checkNum"/>
        <result column="integral" property="integral" />
        <result column="balance" property="balance" />
        <result column="balance_freeze" property="balanceFreeze" />
        <result column="credit_score" property="creditScore" />
        <result column="bank_name" property="bankName" />
        <result column="bank_open" property="bankOpen" />
        <result column="bank_number" property="bankNumber" />
        <result column="id_card_front_image" property="idCardFrontImage" />
        <result column="id_card_back_image" property="idCardBackImage" />
        <result column="id_card_hand_image" property="idCardHandImage" />
        <result column="sign_image" property="signImage" />
        <result column="equity_user_id" property="equityUserId" />
        <result column="equity_order_no" property="equityOrderNo"/>
        <result column="is_buy_grade" property="isBuyGrade"/>
        <result column="upgrade_status" property="upgradeStatus"/>
    </resultMap>
 
    <select id="selectLast" resultMap="BaseResultMap">
        SELECT * from mem_user where create_time = (select max(create_time) from mem_user)
    </select>
 
    <update id="updateWxOpenId" parameterType="java.lang.Integer">
        UPDATE mem_user SET wx_open_id = null WHERE id = #{id}
    </update>
 
    <update id="updateQqAccount" parameterType="java.lang.Integer">
        UPDATE mem_user SET qq_account = null WHERE id = #{id}
    </update>
 
    <insert id="deleteUser">
        INSERT INTO `mem_user_delete`(`user_id`) VALUES (#{userId});
    </insert>
 
    <update id="updateUserGradeByCreditScore">
        UPDATE mem_user
            SET member_grade_id = #{setGrade}, member_grade_time = NOW(), credit_score = 100
        WHERE
            member_grade_id = #{byGrade}
            AND credit_score <![CDATA[ < ]]> ( SELECT value_str FROM t_system_set WHERE id = #{creditScoreSetId} )
    </update>
 
    <select id="getUserAndSharerById" resultType="com.sinata.rest.modular.mall.controller.vo.VoUserAndShareInfo">
        SELECT
            u.*,
            us.id shareUserId,
            us.nick_name shareNickName,
            us.real_name shareRealName
        FROM
            mem_user u
            LEFT JOIN mem_user_relation ur ON u.id = ur.id
            LEFT JOIN mem_user us ON us.id = ur.parent_id
        <where>
            u.id = #{userId}
        </where>
    </select>
  <select id="queryLevelUpUserList"
    resultType="com.sinata.rest.modular.member.model.MemUser">
      SELECT
          *
      FROM
          mem_user u
              LEFT JOIN mall_order o ON u.equity_order_no = o.order_no
      WHERE
          u.member_grade_id = 3
        AND o.order_type = 2
        AND u.upgrade_status = 0
  </select>
 
</mapper>