210 lines
9.5 KiB
XML
210 lines
9.5 KiB
XML
<?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.stdiet.custom.mapper.SysCommisionMapper">
|
|
|
|
<resultMap type="SysCommision" id="SysCommisionResult">
|
|
<result property="ruleId" column="rule_id"/>
|
|
<result property="userId" column="user_id"/>
|
|
<result property="postId" column="post_id"/>
|
|
<result property="userName" column="user_name"/>
|
|
<result property="postName" column="post_name"/>
|
|
<result property="amount" column="amount"/>
|
|
<result property="rate" column="rate"/>
|
|
<result property="createBy" column="create_by"/>
|
|
<result property="createTime" column="create_time"/>
|
|
<result property="updateBy" column="update_by"/>
|
|
<result property="updateTime" column="update_time"/>
|
|
<result property="remark" column="remark"/>
|
|
<result property="commision" column="commision"/>
|
|
</resultMap>
|
|
|
|
<resultMap id="SysCommisionDetailResult" type="SysCommision">
|
|
<result property="userId" column="user_id"/>
|
|
<result property="userName" column="user_name"/>
|
|
<result property="postId" column="post_id"/>
|
|
<result property="postName" column="post_name"/>
|
|
<result property="amount" column="amount"/>
|
|
</resultMap>
|
|
|
|
<sql id="groupAmountVo">
|
|
SELECT ${column} AS user_id, ${postId} AS post_id, SUM(amount) AS amount
|
|
FROM sys_order
|
|
WHERE ${column} IS NOT NULL AND ${column} <> 0 AND del_flag = 0
|
|
<if test="reviewStatus != null and reviewStatus != ''">
|
|
AND review_status = ${reviewStatus}
|
|
</if>
|
|
<if test="beginTime != null and beginTime != ''">AND date_format(order_time,'%y%m%d') >=
|
|
date_format(${beginTime},'%y%m%d')
|
|
</if>
|
|
<if test="endTime != null and endTime != ''">AND date_format(order_time,'%y%m%d') <=
|
|
date_format(${endTime},'%y%m%d')
|
|
</if>
|
|
GROUP BY ${column}
|
|
</sql>
|
|
|
|
<select id="selectSysCommisionDetail" parameterType="SysCommision" resultMap="SysCommisionResult">
|
|
SELECT * FROM view_user_post pa
|
|
JOIN (
|
|
<include refid="groupAmountVo">
|
|
<property name="column" value="pre_sale_id"/>
|
|
<property name="reviewStatus" value="#{reviewStatus}"/>
|
|
<property name="beginTime" value="#{beginTime}"/>
|
|
<property name="endTime" value="#{endTime}"/>
|
|
<property name="postId" value="5"/>
|
|
</include>
|
|
UNION
|
|
<include refid="groupAmountVo">
|
|
<property name="column" value="after_sale_id"/>
|
|
<property name="reviewStatus" value="#{reviewStatus}"/>
|
|
<property name="beginTime" value="#{beginTime}"/>
|
|
<property name="endTime" value="#{endTime}"/>
|
|
<property name="postId" value="6"/>
|
|
</include>
|
|
UNION
|
|
<include refid="groupAmountVo">
|
|
<property name="column" value="nutritionist_id"/>
|
|
<property name="reviewStatus" value="#{reviewStatus}"/>
|
|
<property name="beginTime" value="#{beginTime}"/>
|
|
<property name="endTime" value="#{endTime}"/>
|
|
<property name="postId" value="9"/>
|
|
</include>
|
|
UNION
|
|
<include refid="groupAmountVo">
|
|
<property name="column" value="nutri_assis_id"/>
|
|
<property name="reviewStatus" value="#{reviewStatus}"/>
|
|
<property name="beginTime" value="#{beginTime}"/>
|
|
<property name="endTime" value="#{endTime}"/>
|
|
<property name="postId" value="10"/>
|
|
</include>
|
|
UNION
|
|
<include refid="groupAmountVo">
|
|
<property name="column" value="operator_id"/>
|
|
<property name="reviewStatus" value="#{reviewStatus}"/>
|
|
<property name="beginTime" value="#{beginTime}"/>
|
|
<property name="endTime" value="#{endTime}"/>
|
|
<property name="postId" value="11"/>
|
|
</include>
|
|
UNION
|
|
<include refid="groupAmountVo">
|
|
<property name="column" value="operator_assis_id"/>
|
|
<property name="reviewStatus" value="#{reviewStatus}"/>
|
|
<property name="beginTime" value="#{beginTime}"/>
|
|
<property name="endTime" value="#{endTime}"/>
|
|
<property name="postId" value="13"/>
|
|
</include>
|
|
UNION
|
|
<include refid="groupAmountVo">
|
|
<property name="column" value="planner_id"/>
|
|
<property name="reviewStatus" value="#{reviewStatus}"/>
|
|
<property name="beginTime" value="#{beginTime}"/>
|
|
<property name="endTime" value="#{endTime}"/>
|
|
<property name="postId" value="7"/>
|
|
</include>
|
|
UNION
|
|
<include refid="groupAmountVo">
|
|
<property name="column" value="planner_assis_id"/>
|
|
<property name="reviewStatus" value="#{reviewStatus}"/>
|
|
<property name="beginTime" value="#{beginTime}"/>
|
|
<property name="endTime" value="#{endTime}"/>
|
|
<property name="postId" value="8"/>
|
|
</include>
|
|
) AS a USING(user_id, post_id)
|
|
<where>
|
|
<if test="postId != null and postId != ''">and post_id = #{postId}</if>
|
|
<if test="userId != null and userId != ''">and user_id = #{userId}</if>
|
|
</where>
|
|
</select>
|
|
|
|
<sql id="selectSysCommisionVo">
|
|
SELECT * FROM (
|
|
SELECT * FROM sys_commision c
|
|
JOIN (SELECT user_id, nick_name AS user_name FROM sys_user) AS u USING(user_id)
|
|
JOIN (SELECT post_id, post_name FROM sys_post) AS p USING(post_id)
|
|
<if test="postId != null">WHERE post_id = ${postId}</if>
|
|
ORDER BY user_id, amount
|
|
) as t
|
|
</sql>
|
|
|
|
|
|
<select id="selectSysCommisionList" parameterType="SysCommision" resultMap="SysCommisionResult">
|
|
<include refid="selectSysCommisionVo">
|
|
<property name="postId" value="#{postId}"/>
|
|
</include>
|
|
<where>
|
|
<if test="userId != null ">and user_id = #{userId}</if>
|
|
<if test="postId != null ">and post_id = #{postId}</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectSysCommisionById" parameterType="SysCommision" resultMap="SysCommisionResult">
|
|
<include refid="selectSysCommisionVo">
|
|
<property name="postId" value="#{postId}"/>
|
|
</include>
|
|
where rule_id = #{ruleId}
|
|
</select>
|
|
|
|
<insert id="insertSysCommision" parameterType="SysCommision" useGeneratedKeys="true" keyProperty="ruleId">
|
|
insert into sys_commision
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="userId != null">user_id,</if>
|
|
<if test="postId != null">post_id,</if>
|
|
<if test="amount != null">amount,</if>
|
|
<if test="rate != null">rate,</if>
|
|
<if test="createBy != null">create_by,</if>
|
|
<if test="createTime != null">create_time,</if>
|
|
<if test="updateBy != null">update_by,</if>
|
|
<if test="updateTime != null">update_time,</if>
|
|
<if test="remark != null">remark,</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="userId != null">#{userId},</if>
|
|
<if test="postId != null">#{postId},</if>
|
|
<if test="amount != null">#{amount},</if>
|
|
<if test="rate != null">#{rate},</if>
|
|
<if test="createBy != null">#{createBy},</if>
|
|
<if test="createTime != null">#{createTime},</if>
|
|
<if test="updateBy != null">#{updateBy},</if>
|
|
<if test="updateTime != null">#{updateTime},</if>
|
|
<if test="remark != null">#{remark},</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<update id="updateSysCommision" parameterType="SysCommision">
|
|
update sys_commision
|
|
<trim prefix="SET" suffixOverrides=",">
|
|
<if test="userId != null">user_id = #{userId},</if>
|
|
<if test="postId != null">post_id = #{postId},</if>
|
|
<if test="amount != null">amount = #{amount},</if>
|
|
<if test="rate != null">rate = #{rate},</if>
|
|
<if test="createBy != null">create_by = #{createBy},</if>
|
|
<if test="createTime != null">create_time = #{createTime},</if>
|
|
<if test="updateBy != null">update_by = #{updateBy},</if>
|
|
<if test="updateTime != null">update_time = #{updateTime},</if>
|
|
<if test="remark != null">remark = #{remark},</if>
|
|
</trim>
|
|
where rule_id = #{ruleId}
|
|
</update>
|
|
|
|
<delete id="deleteSysCommisionById" parameterType="Long">
|
|
delete from sys_commision where rule_id = #{ruleId}
|
|
</delete>
|
|
|
|
<delete id="deleteSysCommisionByIds" parameterType="String">
|
|
delete from sys_commision where rule_id in
|
|
<foreach item="ruleId" collection="array" open="(" separator="," close=")">
|
|
#{ruleId}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<!-- 查询售后和营养师 -->
|
|
<select id="getAfterSaleAndNutri" parameterType="SysCommision" resultMap="SysCommisionResult">
|
|
SELECT su.user_id,su.nick_name as user_name,sp.post_id, sp.post_code,sp.post_name FROM sys_user su
|
|
LEFT JOIN sys_user_post sup ON sup.user_id = su.user_id
|
|
LEFT JOIN sys_post sp ON sp.post_id = sup.post_id
|
|
WHERE su.del_flag = 0 AND su.status = 0 AND sp.remark = 'sale_post' AND (sp.post_code = 'after_sale' OR sp.post_code = 'nutri')
|
|
<if test="postId != null and postId != ''">and sp.post_id = #{postId}</if>
|
|
<if test="userId != null and userId != ''">and su.user_id = #{userId}</if>
|
|
</select>
|
|
</mapper> |