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.

106 lines
4.6 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.UserMapper">
<insert id="addUser">
INSERT INTO user(
name,jwcode,market
) VALUES (
#{name},#{jwcode},#{market}
)
</insert>
<!-- 根据精网号查询用户信息 -->
<select id="selectUser" resultType="com.example.demo.domain.vo.GoldUser">
SELECT
name AS "name",
jwcode AS "jwcode",
market AS "market",
(COALESCE(current_permanent_gold, 0) + COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0) + COALESCE(current_task_gold, 0)) AS "nowSumGold",
current_permanent_gold AS "nowPermanentGold",
(COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0)) AS "nowFreeGold",
current_task_gold AS "nowTaskGold",
(COALESCE(sum_permanent_gold, 0) + COALESCE(sum_free_june, 0) + COALESCE(sum_free_december, 0) + COALESCE(sum_task_gold, 0)) AS "historySumGold",
sum_permanent_gold AS "historyPermanentGold",
(COALESCE(sum_free_june, 0) + COALESCE(sum_free_december, 0)) AS "historyFreeGold",
sum_task_gold AS "historyTaskGold",
recharge_num AS "rechargeNum",
consume_num AS "consumeNum",
first_recharge AS "firstRecharge"
FROM user
WHERE jwcode = #{jwcode}
</select>
<!-- 根据精网号查询用户信息 -->
<select id="selectAllUser" resultType="com.example.demo.domain.entity.User">
SELECT
*
FROM user
WHERE jwcode = #{jwcode}
</select>
<!-- 根据精网号查询金币余额 -->
<select id="selectGold" resultType="com.example.demo.domain.vo.GoldUser">
SELECT
current_permanent_gold AS "NowPermanentGold",
(COALESCE(current_free_june, 0) + COALESCE(current_free_december, 0)) AS "NowFreeGold",
current_free_june AS "NowFreeJune",
current_free_december AS "NowFreeDecember",
current_task_gold AS "NowTaskGold",
consume_num AS "consumeNum",
recharge_num AS "rechargeNum"
FROM user
WHERE jwcode = #{jwcode}
</select>
<select id="getAllJwcode" resultType="java.lang.Integer">
SELECT jwcode FROM user
</select>
<!--查用户最早的充值订单-->
<select id="getEarliestRecharge" resultType="java.util.Date">
select min(pay_time)
from user_gold_record
where jwcode = #{jwcode}
and type = 0 and audit_status in (1,3)
</select>
<select id="selectUserByJwcode" resultType="com.example.demo.domain.entity.User">
SELECT *
FROM user
WHERE jwcode = #{jwcode}
</select>
<!-- 根据精网号更新数据 -->
<update id="updateGold" parameterType="com.example.demo.domain.entity.User">
UPDATE user
SET
current_permanent_gold = #{currentPermanentGold},
current_free_june = #{currentFreeJune},
current_free_december = #{currentFreeDecember},
current_task_gold = #{currentTaskGold},
consume_num = #{consumeNum},
sum_consume = sum_consume + #{sumConsume},
update_time = NOW()
WHERE jwcode = #{jwcode}
</update>
<update id="updateAllGold" parameterType="com.example.demo.domain.entity.User">
UPDATE user
SET
<if test="sumPermanentGold != null">sum_permanent_gold = #{sumPermanentGold},</if>
<if test="sumFreeJune != null">sum_free_june = #{sumFreeJune},</if>
<if test="sumFreeDecember != null">sum_free_december = #{sumFreeDecember},</if>
<if test="sumTaskGold != null">sum_task_gold = #{sumTaskGold},</if>
<if test="currentPermanentGold != null">current_permanent_gold = #{currentPermanentGold},</if>
<if test="currentFreeJune != null">current_free_june = #{currentFreeJune},</if>
<if test="currentFreeDecember != null">current_free_december = #{currentFreeDecember},</if>
<if test="currentTaskGold != null">current_task_gold = #{currentTaskGold},</if>
<if test="consumeNum != null">consume_num = #{consumeNum},</if>
<if test="rechargeNum != null">recharge_num = #{rechargeNum}</if>
where jwcode = #{jwcode}
</update>
<!--更新用户首充时间-->
<update id="updateFirstRecharge">
update user
set first_recharge = #{firstRecharge}
where jwcode = #{jwcode}
</update>
</mapper>