chengf
2025-07-08 ca889473b1ba981485a416d820322db87c06d1fe
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
229
230
231
232
233
<?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="payFeeRuleV1ServiceDaoImpl">
 
 
    <!-- 保存费用规则信息 add by wuxw 2018-07-03 -->
    <insert id="savePayFeeRuleInfo" parameterType="Map">
        insert into pay_fee_rule(
        max_time,amount,fee_type_cd,cur_year_month,batch_id,user_id,income_obj_id,config_id,fee_flag,start_time,end_time,state,rule_id,community_id,payer_obj_type,payer_obj_id
        ) values (
        #{maxTime},#{amount},#{feeTypeCd},#{curYearMonth},#{batchId},#{userId},#{incomeObjId},#{configId},#{feeFlag},#{startTime},#{endTime},#{state},#{ruleId},#{communityId},#{payerObjType},#{payerObjId}
        )
    </insert>
 
    <insert id="savePayFeeRules" parameterType="Map">
        insert into pay_fee_rule(
        max_time,amount,fee_type_cd,cur_year_month,batch_id,user_id,income_obj_id,config_id,fee_flag,
        start_time,end_time,state,rule_id,community_id,payer_obj_type,payer_obj_id
        ) values
        <foreach collection="payFeeRulePos" item="item" separator=",">
            (
            #{item.maxTime},#{item.amount},#{item.feeTypeCd},#{item.curYearMonth},#{item.batchId},#{item.userId},
            #{item.incomeObjId},#{item.configId},#{item.feeFlag},#{item.startTime},#{item.endTime},#{item.state},#{item.ruleId},
            #{item.communityId},#{item.payerObjType},#{item.payerObjId}
            )
        </foreach>
    </insert>
 
 
    <!-- 查询费用规则信息 add by wuxw 2018-07-03 -->
    <select id="getPayFeeRuleInfo" parameterType="Map" resultType="Map">
        select t.max_time,t.max_time maxTime,t.amount,t.fee_type_cd,t.fee_type_cd
        feeTypeCd,s.secondary_fee_type_cd_name,s.secondary_fee_type_cd_name secondaryFeeTypeCdName,t.cur_year_month,t.cur_year_month curYearMonth,t.status_cd,t.status_cd statusCd,t.batch_id,t.batch_id
        batchId,t.user_id,t.user_id userId,t.income_obj_id,t.income_obj_id incomeObjId,t.config_id,t.config_id
        configId,t.fee_flag,t.fee_flag feeFlag,t.start_time,t.start_time startTime,t.end_time,t.end_time
        endTime,t.state,t.rule_id,t.rule_id ruleId,t.community_id,t.community_id
        communityId,t.payer_obj_type,t.payer_obj_type payerObjType,t.payer_obj_id,t.payer_obj_id payerObjId,
        pfc.fee_name feeName,pfc.square_price squarePrice,pfc.additional_amount
        additionalAmount,pfc.fee_flag,pfc.fee_flag feeFlag,td1.name feeTypeCdName,td2.name stateName,td3.name feeFlagName,pfc.computing_formula
        computingFormula,pfc.computing_formula_text computingFormulaText,td4.name computingFormulaName
        from pay_fee_rule t
        left join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
        left join t_dict td1 on pfc.fee_type_cd = td1.status_cd and td1.table_name = 'pay_fee_config' and td1.table_columns = 'fee_type_cd'
        left join t_dict td2 on t.state = td2.status_cd and td2.table_name = 'pay_fee' and td2.table_columns = 'state'
        left join t_dict td3 on t.fee_flag = td3.status_cd and td3.table_name = 'pay_fee' and td3.table_columns =
        'fee_flag'
        left join t_dict td4 on pfc.computing_formula = td4.status_cd and td4.table_name = 'pay_fee_config' and
        td4.table_columns = 'computing_formula'
        left join secondary_fee_type_cd_tb s on t.secondary_fee_type_cd = s.secondary_fee_type_cd
        where 1 =1
        <if test="maxTime !=null and maxTime != ''">
            and t.max_time= #{maxTime}
        </if>
        <if test="amount !=null and amount != ''">
            and t.amount= #{amount}
        </if>
        <if test="feeTypeCd !=null and feeTypeCd != ''">
            and t.fee_type_cd= #{feeTypeCd}
        </if>
        <if test="curYearMonth !=null and curYearMonth != ''">
            and t.cur_year_month= #{curYearMonth}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="batchId !=null and batchId != ''">
            and t.batch_id= #{batchId}
        </if>
        <if test="incomeObjId !=null and incomeObjId != ''">
            and t.income_obj_id= #{incomeObjId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="feeFlag !=null and feeFlag != ''">
            and t.fee_flag= #{feeFlag}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.start_time= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.end_time= #{endTime}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="ruleId !=null and ruleId != ''">
            and t.rule_id= #{ruleId}
        </if>
        <if test="ruleIds !=null ">
            and t.rule_id in
            <foreach collection="ruleIds" item="item" open="(" close=")" separator=",">
                #{item}
            </foreach>
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="payerObjType !=null and payerObjType != ''">
            and t.payer_obj_type= #{payerObjType}
        </if>
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
 
    </select>
 
 
    <!-- 修改费用规则信息 add by wuxw 2018-07-03 -->
    <update id="updatePayFeeRuleInfo" parameterType="Map">
        update pay_fee_rule t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="maxTime !=null and maxTime != ''">
            , t.max_time= #{maxTime}
        </if>
        <if test="amount !=null and amount != ''">
            , t.amount= #{amount}
        </if>
        <if test="feeTypeCd !=null and feeTypeCd != ''">
            , t.fee_type_cd= #{feeTypeCd}
        </if>
        <if test="secondaryFeeTypeCd !=null and secondaryFeeTypeCd != ''">
            , t.secondary_fee_type_cd= #{secondaryFeeTypeCd}
        </if>
        <if test="curYearMonth !=null and curYearMonth != ''">
            , t.cur_year_month= #{curYearMonth}
        </if>
        <if test="userId !=null and userId != ''">
            , t.user_id= #{userId}
        </if>
        <if test="incomeObjId !=null and incomeObjId != ''">
            , t.income_obj_id= #{incomeObjId}
        </if>
        <if test="feeFlag !=null and feeFlag != ''">
            , t.fee_flag= #{feeFlag}
        </if>
        <if test="startTime !=null and startTime != ''">
            , t.start_time= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            , t.end_time= #{endTime}
        </if>
        <if test="state !=null and state != ''">
            , t.state= #{state}
        </if>
        <if test="payerObjType !=null and payerObjType != ''">
            , t.payer_obj_type= #{payerObjType}
        </if>
        <if test="payerObjId !=null and payerObjId != ''">
            , t.payer_obj_id= #{payerObjId}
        </if>
        where 1=1
        <if test="ruleId !=null and ruleId != ''">
            and t.rule_id= #{ruleId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="batchId !=null and batchId != ''">
            and t.batch_id= #{batchId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
 
    </update>
 
    <!-- 查询费用规则数量 add by wuxw 2018-07-03 -->
    <select id="queryPayFeeRulesCount" parameterType="Map" resultType="Map">
        select count(1) count
        from pay_fee_rule t
        where 1 =1
        <if test="maxTime !=null and maxTime != ''">
            and t.max_time= #{maxTime}
        </if>
        <if test="amount !=null and amount != ''">
            and t.amount= #{amount}
        </if>
        <if test="feeTypeCd !=null and feeTypeCd != ''">
            and t.fee_type_cd= #{feeTypeCd}
        </if>
        <if test="curYearMonth !=null and curYearMonth != ''">
            and t.cur_year_month= #{curYearMonth}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="batchId !=null and batchId != ''">
            and t.batch_id= #{batchId}
        </if>
        <if test="incomeObjId !=null and incomeObjId != ''">
            and t.income_obj_id= #{incomeObjId}
        </if>
        <if test="configId !=null and configId != ''">
            and t.config_id= #{configId}
        </if>
        <if test="feeFlag !=null and feeFlag != ''">
            and t.fee_flag= #{feeFlag}
        </if>
        <if test="startTime !=null and startTime != ''">
            and t.start_time= #{startTime}
        </if>
        <if test="endTime !=null and endTime != ''">
            and t.end_time= #{endTime}
        </if>
        <if test="state !=null and state != ''">
            and t.state= #{state}
        </if>
        <if test="ruleId !=null and ruleId != ''">
            and t.rule_id= #{ruleId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and t.community_id= #{communityId}
        </if>
        <if test="payerObjType !=null and payerObjType != ''">
            and t.payer_obj_type= #{payerObjType}
        </if>
        <if test="payerObjId !=null and payerObjId != ''">
            and t.payer_obj_id= #{payerObjId}
        </if>
 
 
    </select>
 
</mapper>