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.
78 lines
3.5 KiB
78 lines
3.5 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
|
|
left join product on detail_y.product_id= product.product_id
|
|
<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 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,
|
|
/* product.name AS productName*/
|
|
FROM detail_y
|
|
LEFT JOIN `admin` ON detail_y.admin_id = admin.admin_id
|
|
LEFT JOIN `user` ON detail_y.jwcode = user.jwcode
|
|
LEFT JOIN product ON detail_y.product_id = product.product_id
|
|
<where>
|
|
update_type = 1
|
|
<if test='jwcode != null'>
|
|
AND detail_y.jwcode = #{jwcode}
|
|
</if>
|
|
<if test='productName != null and productName.length > 0'>
|
|
AND 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>
|