PayFeeRuleV1ServiceDaoImplMapper.xml 9.33 KB
<?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,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'
        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="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>