金币系统后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
3.3 KiB

<?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.example.demo.mapper.ConsumeMapper">
<select id="getSumConsume" resultType="com.example.demo.domain.vo.SumConsume">
SELECT
sum(free_coin) as SumFcion,
sum(task_coin) as SumTcion,
sum(recharge_coin) as SumRcion,
sum(recharge_coin+free_coin+task_coin) as Sumcion
from detail_y
<where>
update_type = '1'
<if test='jwcode!=null and jwcode.length>0'>and detail_y.jwcode =#{jwcode}</if>
<if test='productName!=null and productName.length>0'>and detail_y.product_name = #{productName}</if>
<if test='consumePlatform!=null and consumePlatform.length>0'>and detail_y.consume_platform=#{consumePlatform}</if>
<if test='consumeType!=null and consumeType.length>0'>and detail_y.consume_type= #{consumeType}</if>
<if test='startDate != null and endDate != null'>AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}</if>
<if test='area!=null and area.length>0'>and area=#{area}</if>
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
</select>
<select id="select" resultType="com.example.demo.domain.vo.ConsumeDetail">
SELECT
detail_y.*,
admin.name AS adminName
FROM detail_y
LEFT JOIN `admin` ON detail_y.admin_id = admin.admin_id
LEFT JOIN `user` ON detail_y.jwcode = user.jwcode
<where>
update_type = 1
<if test='jwcode != null'>
AND detail_y.jwcode = #{jwcode}
</if>
<if test='productName != null and productName.length > 0'>
AND detail_y.product_name = #{productName}
</if>
<if test='consumePlatform != null and consumePlatform.length > 0'>
AND detail_y.consume_platform = #{consumePlatform}
</if>
<if test='consumeType != null and consumeType.length > 0'>
AND detail_y.consume_type = #{consumeType}
</if>
<if test='startDate != null and endDate != null'>
AND detail_y.create_time BETWEEN #{startDate} AND #{endDate}
</if>
<if test='area != null and area.length > 0'>
AND area = #{area}
</if>
<if test="areas != null">
AND area IN
<foreach collection="areas" item="areas" open="(" separator="," close=")">
#{areas}
</foreach>
</if>
</where>
<choose>
<when test="sortField != null and sortField.length >0 or sortOrder != null and sortOrder.length >0">
ORDER BY ${sortField} ${sortOrder}
</when>
<otherwise>
ORDER BY detail_y.create_time DESC
</otherwise>
</choose>
</select>
<select id="getConsume" resultType="java.lang.String">
SELECT DISTINCT consume_type FROM detail_y where update_type = 1
</select>
</mapper>