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.
168 lines
7.1 KiB
168 lines
7.1 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.coin.UserMapper">
|
|
<insert id="addUser">
|
|
INSERT INTO user(
|
|
name,jwcode,market
|
|
|
|
) VALUES (
|
|
#{name},#{jwcode},#{market}
|
|
)
|
|
</insert>
|
|
|
|
|
|
<!-- 根据精网号查询用户信息 -->
|
|
<select id="selectUser" resultType="com.example.demo.domain.vo.coin.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}
|
|
</where>
|
|
</select>
|
|
|
|
<!-- 检查用户是否存在 -->
|
|
<select id="checkUserExists" resultType="int">
|
|
SELECT COUNT(*)
|
|
FROM user
|
|
WHERE jwcode = #{jwcode}
|
|
</select>
|
|
|
|
<!-- 获取用户的市场信息 -->
|
|
<select id="getUserMarket" resultType="java.lang.String">
|
|
SELECT market
|
|
FROM user
|
|
WHERE jwcode = #{jwcode}
|
|
</select>
|
|
|
|
<!-- 根据精网号查询用户信息 -->
|
|
<select id="selectUserCard" resultType="com.example.demo.domain.vo.coin.GoldUser">
|
|
SELECT
|
|
u.name AS "name",
|
|
u.jwcode AS "jwcode",
|
|
m.name AS "market",
|
|
ROUND((IFNULL(u.current_permanent_gold, 0) + IFNULL(u.current_free_june, 0) + IFNULL(u.current_free_december, 0) + IFNULL(u.current_task_gold, 0)) / 100.0, 2) AS nowSumGold,
|
|
ROUND(IFNULL(u.current_permanent_gold, 0) / 100.0, 2) AS nowPermanentGold,
|
|
ROUND((IFNULL(u.current_free_june, 0) + IFNULL(u.current_free_december, 0)) / 100.0, 2) AS nowFreeGold,
|
|
ROUND(IFNULL(u.current_task_gold, 0) / 100.0, 2) AS nowTaskGold,
|
|
ROUND((IFNULL(u.sum_permanent_gold, 0) + IFNULL(u.sum_free_june, 0) + IFNULL(u.sum_free_december, 0) + IFNULL(u.sum_task_gold, 0)) / 100.0, 2) AS historySumGold,
|
|
ROUND(IFNULL(u.sum_permanent_gold, 0) / 100.0, 2) AS historyPermanentGold,
|
|
ROUND((IFNULL(u.sum_free_june, 0) + IFNULL(u.sum_free_december, 0)) / 100.0, 2) AS historyFreeGold,
|
|
u.sum_task_gold AS "historyTaskGold",
|
|
u.recharge_num AS "rechargeNum",
|
|
u.consume_num AS "consumeNum",
|
|
u.first_recharge AS "firstRecharge"
|
|
FROM user u
|
|
LEFT JOIN market m on u.market = m.id
|
|
<where>
|
|
jwcode = #{jwcode}
|
|
<!-- 判断 market 是否不为总部且 markets 不为空 -->
|
|
<if test="markets != null and markets.size() > 0 and '9999' not in markets and '9' not in markets">
|
|
AND (
|
|
<foreach collection="markets" item="market" open="" close="" separator=" OR ">
|
|
u.market = #{market}
|
|
</foreach>
|
|
)
|
|
</if>
|
|
</where>
|
|
</select>
|
|
<!-- 根据精网号查询用户信息 -->
|
|
<select id="selectAllUser" resultType="com.example.demo.domain.entity.User">
|
|
SELECT
|
|
*
|
|
FROM user
|
|
WHERE jwcode = #{jwcode}
|
|
</select>
|
|
<select id="selectUserMarket" resultType="com.example.demo.domain.entity.User">
|
|
SELECT
|
|
market AS "market"
|
|
FROM user
|
|
WHERE jwcode = #{jwcode}
|
|
</select>
|
|
<!-- 根据精网号查询金币余额 -->
|
|
<select id="selectGold" resultType="com.example.demo.domain.vo.coin.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>
|
|
<select id="getFirstRecharge" resultType="java.util.Date">
|
|
SELECT first_recharge
|
|
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},
|
|
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>
|
|
<if test="sumConsumePermanent != null">sum_consume_permanent = #{sumConsumePermanent},</if>
|
|
<if test="sumConsumeTask != null">sum_consume_task = #{sumConsumeTask},</if>
|
|
<if test="sumConsumeFree != null">sum_consume_free = #{sumConsumeFree}</if>
|
|
where jwcode = #{jwcode}
|
|
</update>
|
|
<!--更新用户首充时间-->
|
|
<update id="updateFirstRecharge">
|
|
update user
|
|
set first_recharge = #{firstRecharge}
|
|
where jwcode = #{jwcode}
|
|
</update>
|
|
</mapper>
|