feat: 达标奖励查询方式修改
This commit is contained in:
parent
bd6499727e
commit
b6c8a07486
|
|
@ -0,0 +1,57 @@
|
|||
package com.sqx.modules.app.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
*
|
||||
* @TableName invite_achievement
|
||||
*/
|
||||
@TableName(value ="invite_achievement")
|
||||
@Data
|
||||
@EqualsAndHashCode
|
||||
public class InviteAchievement implements Serializable {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@TableId(type = IdType.AUTO)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 上级邀请用户id
|
||||
*/
|
||||
private Long sourceUserId;
|
||||
|
||||
/**
|
||||
* 达标次数
|
||||
*/
|
||||
private Integer count;
|
||||
|
||||
/**
|
||||
* 是否首次达标
|
||||
*/
|
||||
private Integer isFirst;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Date createTime;
|
||||
private Date updateTime;
|
||||
|
||||
@TableField(exist = false)
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
package com.sqx.modules.app.mapper;
|
||||
|
||||
import com.sqx.modules.app.entity.InviteAchievement;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Insert;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
* @description 针对表【invite_achievement】的数据库操作Mapper
|
||||
* @createDate 2024-12-30 13:26:18
|
||||
* @Entity com.sqx.modules.app.entity.InviteAchievement
|
||||
*/
|
||||
@Mapper
|
||||
public interface InviteAchievementMapper extends BaseMapper<InviteAchievement> {
|
||||
|
||||
@Update("update invite_achievement set count = count + #{i}, update_time=now() where id = #{id}")
|
||||
int incrCount(Integer id, int i);
|
||||
|
||||
@Insert("INSERT INTO invite_achievement (user_id, by_user_id, count, is_first, create_time)\n" +
|
||||
"SELECT #{userId}, #{byUserId}, #{count}, #{isFirst}, #{createTime} " +
|
||||
"WHERE NOT EXISTS ( " +
|
||||
" SELECT 1 FROM invite_achievement WHERE user_id = #{userId} " +
|
||||
");")
|
||||
boolean insertNotExists(InviteAchievement inviteAchievement);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
package com.sqx.modules.app.service;
|
||||
|
||||
import com.sqx.modules.app.entity.InviteAchievement;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
* @description 针对表【invite_achievement】的数据库操作Service
|
||||
* @createDate 2024-12-30 13:26:18
|
||||
*/
|
||||
public interface InviteAchievementService extends IService<InviteAchievement> {
|
||||
|
||||
int countByUserId(Long userId);
|
||||
|
||||
InviteAchievement getByUserId(Long userId);
|
||||
|
||||
int incrCount(Integer id, int i);
|
||||
|
||||
boolean insertNotExists(InviteAchievement inviteAchievement);
|
||||
|
||||
int countBySourceUserId(Long userId);
|
||||
|
||||
int countNum(Long userId, Integer signCount);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
package com.sqx.modules.app.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.sqx.modules.app.entity.InviteAchievement;
|
||||
import com.sqx.modules.app.service.InviteAchievementService;
|
||||
import com.sqx.modules.app.mapper.InviteAchievementMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* @author Administrator
|
||||
* @description 针对表【invite_achievement】的数据库操作Service实现
|
||||
* @createDate 2024-12-30 13:26:18
|
||||
*/
|
||||
@Service
|
||||
public class InviteAchievementServiceImpl extends ServiceImpl<InviteAchievementMapper, InviteAchievement>
|
||||
implements InviteAchievementService{
|
||||
|
||||
@Override
|
||||
public int countByUserId(Long userId) {
|
||||
return count(new LambdaQueryWrapper<InviteAchievement>()
|
||||
.eq(InviteAchievement::getUserId, userId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public InviteAchievement getByUserId(Long userId) {
|
||||
return getOne(new LambdaQueryWrapper<InviteAchievement>()
|
||||
.eq(InviteAchievement::getUserId, userId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int incrCount(Integer id, int i) {
|
||||
return baseMapper.incrCount(id,i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean insertNotExists(InviteAchievement inviteAchievement) {
|
||||
return baseMapper.insertNotExists(inviteAchievement);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countBySourceUserId(Long userId) {
|
||||
return count(new LambdaQueryWrapper<InviteAchievement>()
|
||||
.eq(InviteAchievement::getSourceUserId, userId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public int countNum(Long userId, Integer signCount) {
|
||||
return count(new LambdaQueryWrapper<InviteAchievement>()
|
||||
.eq(InviteAchievement::getSourceUserId, userId)
|
||||
.ge(InviteAchievement::getCount, signCount));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<?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.sqx.modules.app.mapper.InviteAchievementMapper">
|
||||
|
||||
<resultMap id="BaseResultMap" type="com.sqx.modules.app.entity.InviteAchievement">
|
||||
<id property="id" column="id" jdbcType="INTEGER"/>
|
||||
<result property="userId" column="user_id" jdbcType="BIGINT"/>
|
||||
<result property="byUserId" column="by_user_id" jdbcType="BIGINT"/>
|
||||
<result property="amount" column="amount" jdbcType="DECIMAL"/>
|
||||
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="Base_Column_List">
|
||||
id,user_id,by_user_id,
|
||||
amount,create_time
|
||||
</sql>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue