client-mapper.xml
8.91 KB
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
<?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">
<!-- 会员 @author 仝玉甫 -->
<mapper namespace="com.cjs.cms.dao.user.account.ClientDao">
<sql id="querySumCondition">
<if test="bindCard != null and bindCard != ''">
AND B.BKACCOUNT_REGFLAG = #{bindCard}
</if>
<if test="startDate != null and startDate != ''">
<![CDATA[and t.open_date >= #{startDate}]]>
</if>
<if test="endDate != null and endDate != ''">
<![CDATA[and t.open_date <= #{endDate}]]>
</if>
</sql>
<!-- 开户人数统计 -->
<select id="searchSum" parameterType="map" resultType="int">
SELECT COUNT(*)
FROM HS_ASSET.CLIENT T, HS_ASSET.BANKEXCHACCOUNT B
WHERE T.CLIENT_ID = B.FUND_ACCOUNT AND T.CLIENT_STATUS = '0'
<include refid="querySumCondition" />
</select>
<select id="search" parameterType="map" resultType="map">
<include refid="common.pageStart"/>
SELECT T.OPEN_DATE, COUNT(*) USERS
FROM HS_ASSET.CLIENT T, HS_ASSET.BANKEXCHACCOUNT B
WHERE T.CLIENT_ID = B.FUND_ACCOUNT AND T.CLIENT_STATUS = '0'
<include refid="querySumCondition" />
GROUP BY T.OPEN_DATE
ORDER BY T.OPEN_DATE DESC
<include refid="common.pageEnd"/>
</select>
<select id="searchTotal" parameterType="map" resultType="int">
select count(*) from(
SELECT T.OPEN_DATE, COUNT(*) USERS
FROM HS_ASSET.CLIENT T, HS_ASSET.BANKEXCHACCOUNT B
WHERE T.CLIENT_ID = B.FUND_ACCOUNT AND T.CLIENT_STATUS = '0'
<include refid="querySumCondition" />
GROUP BY T.OPEN_DATE
)
</select>
<!-- 查询可升级用户 -->
<select id="queryLevelUser" parameterType="map" resultType="map">
<![CDATA[
SELECT T.CLIENT_ID, T.ASSET_LEVEL, D.AMOUNT
FROM HS_ASSET.CLIENT T
INNER JOIN (
SELECT A.DEVELOPER, COUNT(A.DEVELOPER) AMOUNT
FROM HS_ASSET.CLIENTINFO A, HS_ASSET.CLIENT B, HS_ASSET.BANKEXCHACCOUNT C
WHERE A.CLIENT_ID = B.CLIENT_ID AND A.CLIENT_ID = C.FUND_ACCOUNT AND B.CLIENT_STATUS = '0'
AND B.ASSET_LEVEL >= #{subordinateLevel} AND C.BKACCOUNT_REGFLAG = '2' AND LENGTH(A.DEVELOPER) > 2
GROUP BY A.DEVELOPER
HAVING COUNT(A.DEVELOPER) >= #{subordinateAmount}) D
ON T.CLIENT_ID = D.DEVELOPER
WHERE T.ASSET_LEVEL = #{userLevel}
ORDER BY D.AMOUNT
]]>
</select>
<!-- 查询可升级代理商 -->
<select id="queryLevelAgent" parameterType="map" resultType="map">
<![CDATA[
SELECT T.FUND_ACCOUNT AS CLIENT_ID, T.AGENT_NO, D.AMOUNT, E.ASSET_LEVEL
FROM HS_ASSET.AGENTINFO T
INNER JOIN (
SELECT A.DEVELOPER, COUNT(A.DEVELOPER) AMOUNT
FROM HS_ASSET.CLIENTINFO A, HS_ASSET.CLIENT B, HS_ASSET.BANKEXCHACCOUNT C
WHERE A.CLIENT_ID = B.CLIENT_ID AND A.CLIENT_ID = C.FUND_ACCOUNT AND B.CLIENT_STATUS = '0'
AND B.ASSET_LEVEL >= #{subordinateLevel} AND C.BKACCOUNT_REGFLAG = '2'
GROUP BY A.DEVELOPER
HAVING COUNT(A.DEVELOPER) >= #{subordinateAmount}) D
ON T.AGENT_NO = D.DEVELOPER
INNER JOIN HS_ASSET.CLIENT E ON T.FUND_ACCOUNT = E.CLIENT_ID
WHERE E.ASSET_LEVEL = #{userLevel}
ORDER BY D.AMOUNT
]]>
</select>
<!-- 修改用户等级 -->
<update id="updateUserLevel" parameterType="string">
UPDATE HS_ASSET.CLIENT C SET C.ASSET_LEVEL = #{newLevel}
WHERE C.CLIENT_ID = #{userId}
</update>
<!-- 查詢用户等級 -->
<select id="queryUserLevel" parameterType="string" resultType="String">
SELECT ASSET_LEVEL
FROM HS_ASSET.CLIENT C
WHERE C.CLIENT_ID = #{clientId}
</select>
<!-- 根据身份证号查询开户状态 -->
<select id="queryStatusByIdNo" parameterType="string" resultType="map">
select client_id, client_status from hs_asset.client
where id_no = #{idNo}
</select>
<!-- 查询符合条件的用户 -->
<select id="queryClientId" parameterType="map" resultType="string">
SELECT DISTINCT(B.CLIENT_ID) FROM HS_ASSET.BANKEXCHACCOUNT B
LEFT JOIN HS_ASSET.CLIENT C
ON B.CLIENT_ID = C.CLIENT_ID
WHERE LENGTH(B.CLIENT_ID) >= 8
AND B.BKACCOUNT_REGFLAG = '2'
<if test="clientStatus != null and clientStatus != ''">
AND C.CLIENT_STATUS = 0
</if>
<if test="startDate != null and startDate != ''">
<![CDATA[AND B.OPEN_DATE >= #{startDate} ]]>
</if>
<if test="endDate != null and endDate != ''">
<![CDATA[AND B.OPEN_DATE <= #{endDate} ]]>
</if>
ORDER BY B.CLIENT_ID ASC
</select>
<!-- 会员体系 -->
<sql id="searchCondition">
<if test="level != null and level != ''"> and c.asset_level=#{level} </if>
<if test="clientId != null and clientId != ''"> and c.client_id = #{clientId} </if>
<if test="clientName != null and clientName != ''"> and c.client_name = #{clientName} </if>
</sql>
<!--查询所有会员等级信息 -->
<select id="searchClient" parameterType="map" resultType="ClientInfo">
<include refid="common.pageStart" />
select c.asset_level, c.client_name, c.open_date, c.client_id
from HS_ASSET.CLIENT c, HS_ASSET.BANKEXCHACCOUNT b
where c.client_id = b.fund_account
and b.BKACCOUNT_REGFLAG = 2 and c.client_status = 0
<include refid="searchCondition" />
order by c.open_date desc, c.client_id desc
<include refid="common.pageEnd" />
</select>
<!--查询所有会员数量-->
<select id="searchClientCount" parameterType="map" resultType="int">
select count(*)
from HS_ASSET.CLIENT c, HS_ASSET.BANKEXCHACCOUNT b
where c.client_id = b.fund_account
and b.BKACCOUNT_REGFLAG = 2
and c.client_status != 3
<include refid="searchCondition" />
</select>
<!-- 查询下属会员信息 -->
<select id="queryUnderInfo" parameterType="map" resultType="map">
<include refid="common.pageStart" />
SELECT A.ASSET_LEVEL, A.CLIENT_ID, A.CLIENT_NAME, A.OPEN_DATE, B.DEVELOPER, C.BKACCOUNT_REGFLAG
FROM HS_ASSET.CLIENT A, HS_ASSET.CLIENTINFO B, HS_ASSET.BANKEXCHACCOUNT C
WHERE A.CLIENT_ID = B.CLIENT_ID AND A.CLIENT_ID = C.CLIENT_ID
AND A.CLIENT_STATUS = '0'
<include refid="searchUnderCondition"/>
<include refid="common.pageEnd" />
</select>
<!-- 查询下属会员数量 -->
<select id="queryUnderTotal" parameterType="map" resultType="int">
SELECT COUNT(*)
FROM HS_ASSET.CLIENT A, HS_ASSET.CLIENTINFO B, HS_ASSET.BANKEXCHACCOUNT C
WHERE A.CLIENT_ID = B.CLIENT_ID AND A.CLIENT_ID = C.CLIENT_ID
AND A.CLIENT_STATUS = '0'
<include refid="searchUnderCondition"/>
</select>
<sql id="searchUnderCondition">
<if test="regflag != null and regflag != ''"> and C.BKACCOUNT_REGFLAG = #{regflag} </if>
<if test="clientId != null and clientId != ''"> and B.DEVELOPER = #{clientId} </if>
<if test="underId != null and underId != ''"> and A.CLIENT_ID = #{underId} </if>
<if test="underName != null and underName != ''"> and A.CLIENT_NAME = #{underName} </if>
<if test="startDate != null and startDate != ''">
<![CDATA[ and A.OPEN_DATE >= #{startDate}]]>
</if>
<if test="endDate != null and endDate != ''">
<![CDATA[ and A.OPEN_DATE <= #{endDate}]]>
</if>
</sql>
<select id="queryForSendGift" parameterType="map" resultType="map">
<![CDATA[SELECT C.CLIENT_ID,C.CLIENT_NAME,C.ID_NO,C.ID_KIND
FROM HS_ASSET.CLIENT C
INNER JOIN HS_ASSET.OTCHOLDER O ON C.CLIENT_ID = O.CLIENT_ID
INNER JOIN HS_ASSET.BANKEXCHACCOUNT B ON C.CLIENT_ID = B.CLIENT_ID
WHERE C.OPEN_DATE < #{nowDate} AND B.BKACCOUNT_REGFLAG = '2' AND C.CLIENT_STATUS = 0
AND O.OTC_ACCOUNT NOT IN
(SELECT H.SDC_ACCOUNT FROM HS_HIS.HIS_SDCOSTOCKJOUR H WHERE H.OP_STATION = 'cms'
AND H.BUSINESS_FLAG = '22008' AND H.REMARK LIKE '流通股非交易过户%')]]>
</select>
<!-- 查询推荐用户数大于等于15的推荐人列表 -->
<select id="queryDeveloperList" resultType="map">
SELECT DEVELOPER,COUNT(DEVELOPER) NUM FROM HS_ASSET.CLIENTINFO T
INNER JOIN HS_ASSET.CLIENT C ON T.CLIENT_ID = C.CLIENT_ID
INNER JOIN HS_ASSET.BANKEXCHACCOUNT B ON T.CLIENT_ID = B.CLIENT_ID
WHERE B.BKACCOUNT_REGFLAG = 2 AND C.CLIENT_STATUS = 0
GROUP BY T.DEVELOPER
HAVING COUNT(T.DEVELOPER) >= 15 AND TRIM(T.DEVELOPER) IS NOT NULL AND T.DEVELOPER != '5001'
</select>
<!-- 将所有会员等级为空的设置为0(柜台开的机构会员账号好像会为空) -->
<update id="repairLevel">
UPDATE HS_ASSET.CLIENT T SET T.ASSET_LEVEL = '0' WHERE T.ASSET_LEVEL = ' '
</update>
<!-- 根据用户号查询用户名 -->
<select id="queryNameById" parameterType="string" resultType="string">
SELECT CLIENT_NAME FROM HS_ASSET.CLIENT WHERE CLIENT_ID = #{clientId}
</select>
<select id="queryForReOperate" parameterType="java.util.List" resultType="string">
SELECT F.CLIENT_ID FROM HS_FUND.FUNDREAL F
INNER JOIN HS_ASSET.CLIENT T ON F.CLIENT_ID = T.CLIENT_ID
WHERE F.CURRENT_BALANCE > 0 AND F.CLIENT_ID IN
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">#{item}</foreach>
</select>
<!-- 查询用户类型(0:个人用户 1:企业用户) -->
<select id="queryOrganFlag" parameterType="string" resultType="string">
SELECT ORGAN_FLAG FROM HS_ASSET.CLIENT
WHERE CLIENT_ID = #{clientId}
</select>
</mapper>