|
@@ -0,0 +1,61 @@
|
|
|
+<?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">
|
|
|
+<!--suppress ALL -->
|
|
|
+<mapper namespace="com.sooka.jnb.score.mapper.ScoreMapper">
|
|
|
+
|
|
|
+ <resultMap id="scoreOperateResult" type="scoreOperate">
|
|
|
+ <id property="id" column="id"/>
|
|
|
+ <result property="userId" column="user_id"/>
|
|
|
+ <result property="scoreOperate" column="score_operate"/>
|
|
|
+ <result property="scoreNum" column="score_num"/>
|
|
|
+ <result property="relevance" column="relevance"/>
|
|
|
+ <result property="relevanceDataId" column="relevance_data_id"/>
|
|
|
+ <result property="createTime" column="create_time"/>
|
|
|
+ <result property="updateTime" column="update_time"/>
|
|
|
+ </resultMap>
|
|
|
+
|
|
|
+
|
|
|
+ <!-- 初始化积分 -->
|
|
|
+ <insert id="initScore" parameterType="scoreOperate">
|
|
|
+ insert into jnb_score(user_id, score_num, create_time)
|
|
|
+ values(#{userId}, #{scoreNum}, #{createTime})
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 获取积分 -->
|
|
|
+ <select id="getScore" parameterType="string" resultMap="scoreOperateResult">
|
|
|
+ select id, user_id, score_num from jnb_score where user_id = #{userId}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 获取积分流水 -->
|
|
|
+ <select id="getScoreList" parameterType="string" resultMap="scoreOperateResult">
|
|
|
+ select jso.id, jso.user_id, jso.score_operate, jso.score_num, jso.create_time, sdd.dict_label as relevance, jso.relevance_data_id
|
|
|
+ from jnb_score_operate jso
|
|
|
+ left join sys_dict_data sdd on jso.relevance = sdd.dict_value
|
|
|
+ where sdd.dict_type = 'score_type' and user_id = #{userId}
|
|
|
+ order by create_time desc
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 增加积分 -->
|
|
|
+ <update id="addScore" parameterType="scoreOperate">
|
|
|
+ update jnb_score set score_num = score_num + #{scoreNum}, update_time = #{updateTime} where user_id = #{userId}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 减少积分 -->
|
|
|
+ <update id="reduceScore" parameterType="scoreOperate">
|
|
|
+ update jnb_score set score_num = score_num - #{scoreNum}, update_time = #{updateTime} where user_id = #{userId}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 积分流水操作 -->
|
|
|
+ <insert id="insertScoreOperate" parameterType="scoreOperate">
|
|
|
+ insert into jnb_score_operate(user_id, score_operate, score_num, create_time, relevance, relevance_data_id)
|
|
|
+ values(#{userId}, #{scoreOperate}, (select score_num from jnb_score where user_id = #{userId}), #{createTime}, #{relevance}, #{relevanceDataId})
|
|
|
+ </insert>
|
|
|
+
|
|
|
+ <!-- 唯一校验 -->
|
|
|
+ <select id="soleVerify" parameterType="string" resultType="map">
|
|
|
+ select count(1) as personSum from jnb_score where user_id = #{userId}
|
|
|
+ </select>
|
|
|
+
|
|
|
+</mapper>
|