抽奖次数
This commit is contained in:
@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
import com.sqx.modules.userSign.entity.UserSignRecord;
|
import com.sqx.modules.userSign.entity.UserSignRecord;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface UserSignRecordDao extends BaseMapper<UserSignRecord> {
|
public interface UserSignRecordDao extends BaseMapper<UserSignRecord> {
|
||||||
//周 抽奖次数
|
//周 抽奖次数
|
||||||
Map<Integer,Integer> getTaskWCount(long userId, int wCount,String time);
|
Map<Integer,Integer> getTaskWCount(long userId, int wCount,String time,List<Integer> ids);
|
||||||
|
List getNoRecordTask(long userId, String time);
|
||||||
//周 签到 次数 连续签到
|
//周 签到 次数 连续签到
|
||||||
Integer getWSignCount(long userId,String time);
|
Integer getWSignCount(long userId,String time);
|
||||||
|
|
||||||
|
|||||||
@@ -134,7 +134,8 @@ public class UserSignRecordServiceImpl extends ServiceImpl<UserSignRecordDao, Us
|
|||||||
@Override
|
@Override
|
||||||
public Map<Integer,Integer> getTaskWCount(long userId,int wCount) {
|
public Map<Integer,Integer> getTaskWCount(long userId,int wCount) {
|
||||||
Date thirtyDaysAgo = DateUtil.offsetDay(new Date(), -30);
|
Date thirtyDaysAgo = DateUtil.offsetDay(new Date(), -30);
|
||||||
return baseMapper.getTaskWCount(userId,wCount,DateUtil.format(thirtyDaysAgo, "yyyy-MM-dd")+" 00:00:00");
|
List<Integer> noRecordTasks = baseMapper.getNoRecordTask(userId, DateUtil.format(thirtyDaysAgo, "yyyy-MM-dd") + " 00:00:00");
|
||||||
|
return baseMapper.getTaskWCount(userId, wCount, DateUtil.format(thirtyDaysAgo, "yyyy-MM-dd") + " 00:00:00", noRecordTasks);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -286,7 +286,7 @@
|
|||||||
AND orders.`status` = 1
|
AND orders.`status` = 1
|
||||||
AND orders.`pay_way` = 9
|
AND orders.`pay_way` = 9
|
||||||
AND orders.create_time > DATE_FORMAT(CURDATE(), '%Y-%m-%d 00:00:00')
|
AND orders.create_time > DATE_FORMAT(CURDATE(), '%Y-%m-%d 00:00:00')
|
||||||
AND record.order_id IS NULL
|
AND record.source_id IS NULL
|
||||||
ORDER BY orders.create_time
|
ORDER BY orders.create_time
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
@@ -298,7 +298,7 @@
|
|||||||
AND orders.`status` = 1
|
AND orders.`status` = 1
|
||||||
AND orders.`pay_way` = 9
|
AND orders.`pay_way` = 9
|
||||||
AND orders.create_time > DATE_FORMAT(CURDATE(), '%Y-%m-%d 00:00:00')
|
AND orders.create_time > DATE_FORMAT(CURDATE(), '%Y-%m-%d 00:00:00')
|
||||||
AND record.order_id IS NULL
|
AND record.source_id IS NULL
|
||||||
ORDER BY orders.create_time LIMIT 1
|
ORDER BY orders.create_time LIMIT 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
@@ -2,19 +2,38 @@
|
|||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.sqx.modules.userSign.dao.UserSignRecordDao">
|
<mapper namespace="com.sqx.modules.userSign.dao.UserSignRecordDao">
|
||||||
|
|
||||||
|
<select id="getNoRecordTask" resultType="List">
|
||||||
|
SELECT
|
||||||
|
sign.id
|
||||||
|
FROM
|
||||||
|
user_sign_record sign
|
||||||
|
LEFT JOIN task_center_record cenRecord ON sign.id = cenRecord.source_id
|
||||||
|
WHERE
|
||||||
|
sign.`DAY` = 7
|
||||||
|
AND sign.user_id = #{userId}
|
||||||
|
and sign.create_time > #{time}
|
||||||
|
AND cenRecord.id IS NULL
|
||||||
|
order by sign.create_time asc
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="getTaskWCount" resultType="Map">
|
<select id="getTaskWCount" resultType="Map">
|
||||||
SELECT
|
SELECT
|
||||||
sign.id,
|
sign.id,
|
||||||
#{wCount} - COUNT(CASE WHEN cenRecord.id IS NULL and record.source_id IS NOT NULL THEN 1 END) AS record_count
|
#{wCount} - COUNT(CASE WHEN spRecord.source_id IS NOT NULL THEN 1 END) AS record_count
|
||||||
|
|
||||||
FROM
|
FROM
|
||||||
user_sign_record sign
|
user_sign_record sign
|
||||||
LEFT JOIN task_center_record cenRecord on sign.id = cenRecord.source_id
|
|
||||||
LEFT JOIN disc_spinning_record spRecord ON sign.id = spRecord.source_id
|
LEFT JOIN disc_spinning_record spRecord ON sign.id = spRecord.source_id
|
||||||
WHERE
|
WHERE
|
||||||
sign.`DAY` = 7;
|
sign.`DAY` = 7
|
||||||
AND sign.user_id = #{userId}
|
AND sign.user_id = #{userId}
|
||||||
and sign.create_time > #{time}
|
AND sign.create_time > #{time}
|
||||||
|
<if test="ids!= null and ids.size() > 0">
|
||||||
|
AND sign.id in
|
||||||
|
<foreach collection="ids" item="id" open="(" close=")" separator=",">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
|
GROUP BY sign.id
|
||||||
order by sign.create_time asc
|
order by sign.create_time asc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user