Commit 8fe103fd authored by shiyu's avatar shiyu

邀请码

parent 5adb8c9c
package com.wwdz.ch.admin.controller;
import com.wwdz.ch.admin.annotation.RequiresPermissionsDesc;
import com.wwdz.ch.admin.service.InvitationCodeService;
import com.wwdz.ch.admin.util.AuthSupport;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.CoinRequestDto;
import com.wwdz.ch.db.dto.request.InvitationCodeRequestDto;
import com.xxdxxs.utils.JsonUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* 邀请码管理
*/
@RestController
@RequestMapping("/admin/invitationCode")
public class InvitationCodeController {
private static final Logger logger = LoggerFactory.getLogger(ItemController.class);
@Autowired
InvitationCodeService invitationCodeService;
@RequiresPermissionsDesc(menu = { "邀请码管理", "生成邀请码" }, button = "新增")
@PostMapping("/create")
public Result create(@RequestBody InvitationCodeRequestDto invitationCodeRequestDto) {
logger.info("【请求开始】操作人:[" + AuthSupport.userName()+ "] 邀请码管理->生成邀请码->新增,请求参数:parma:{}", invitationCodeRequestDto);
Result result = invitationCodeService.create(invitationCodeRequestDto);
logger.info("【请求结束】邀请码管理->生成邀请码->新增:result:{}", JsonUtils.from(result));
return result;
}
@RequiresPermissionsDesc(menu = { "邀请码管理", "邀请码列表" }, button = "查询")
@PostMapping("/findList")
public Result findList(@RequestBody InvitationCodeRequestDto invitationCodeRequestDto) {
logger.info("【请求开始】操作人:[" + AuthSupport.userName()+ "] 邀请码管理->邀请码列表->查询,请求参数:parma:{}", invitationCodeRequestDto);
Result result = invitationCodeService.findList(invitationCodeRequestDto);
logger.info("【请求结束】邀请码管理->邀请码列表->查询:result:{}", JsonUtils.from(result));
return result;
}
@RequiresPermissionsDesc(menu = { "邀请码管理", "邀请码详情" }, button = "查询")
@PostMapping("/findDetails")
public Result findDetails(@RequestBody InvitationCodeRequestDto invitationCodeRequestDto) {
logger.info("【请求开始】操作人:[" + AuthSupport.userName()+ "] 邀请码管理->邀请码详情->查询,请求参数:parma:{}", invitationCodeRequestDto);
Result result = invitationCodeService.findList(invitationCodeRequestDto);
logger.info("【请求结束】邀请码管理->邀请码详情->查询:result:{}", JsonUtils.from(result));
return result;
}
@RequiresPermissionsDesc(menu = { "邀请码管理", "邀请码详情" }, button = "更新")
@PostMapping("/setInvalid")
public Result setInvalid(@RequestBody InvitationCodeRequestDto invitationCodeRequestDto) {
logger.info("【请求开始】操作人:[" + AuthSupport.userName()+ "] 邀请码管理->设置无效->更新,请求参数:parma:{}", invitationCodeRequestDto);
Result result = invitationCodeService.updateState(invitationCodeRequestDto);
logger.info("【请求结束】邀请码管理->设置无效->更新:result:{}", JsonUtils.from(result));
return result;
}
}
package com.wwdz.ch.admin.impl;
import com.wwdz.ch.admin.service.InvitationCodeService;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.CharUtil;
import com.wwdz.ch.db.dao.InvitationCodeDao;
import com.wwdz.ch.db.domain.InvitationCode;
import com.wwdz.ch.db.dto.request.InvitationCodeRequestDto;
import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
@Service
public class InvitationCodeServiceImpl implements InvitationCodeService {
private static final Logger logger = LoggerFactory.getLogger(InvitationCodeServiceImpl.class);
@Autowired
InvitationCodeDao invitationCodeDao;
@Override
public Result create(InvitationCodeRequestDto invitationCodeRequestDto) {
try {
Date now = new Date();
InvitationCode invitationCode = new InvitationCode();
EntityMapper.copyAttribute(invitationCodeRequestDto, invitationCode);
invitationCode.setCreateTime(now);
invitationCode.setUpdateTime(now);
String code = CharUtil.getInvitationCode(6);
if (invitationCodeDao.isExisted(code)) {
logger.info("邀请码 : {} 已经存在,", code);
code = CharUtil.getInvitationCode(6);
logger.info("再一次生成新的邀请码 : {}", code);
}
invitationCode.setCode(code);
invitationCodeDao.create(invitationCode);
return Result.success();
} catch (Exception e) {
logger.error("生成邀请码错误 : {}", e);
}
return Result.failed();
}
@Override
public Result update(InvitationCodeRequestDto invitationCodeRequestDto) {
try {
return null;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
@Override
public Result updateState(InvitationCodeRequestDto invitationCodeRequestDto) {
try {
invitationCodeDao.updateState(invitationCodeRequestDto.getCode(), invitationCodeRequestDto.getState());
return Result.success();
} catch (Exception e) {
logger.error("更新邀请码状态错误 : {}", e);
}
return Result.failed();
}
@Override
public Result findList(InvitationCodeRequestDto invitationCodeRequestDto) {
return null;
}
@Override
public Result findByPage(InvitationCodeRequestDto invitationCodeRequestDto) {
return null;
}
@Override
public Result findDetails(InvitationCodeRequestDto invitationCodeRequestDto) {
try {
List<InvitationCode> list = invitationCodeDao.findList(invitationCodeRequestDto);
if (CollectionUtils.isEmpty(list)) {
return Result.failed("邀请码不存在");
}
InvitationCode invitationCode = list.get(0);
return null;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
package com.wwdz.ch.admin.impl;
import com.wwdz.ch.admin.service.InviteRecordService;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.InvitationCodeDao;
import com.wwdz.ch.db.dao.InviteRecordDao;
import com.wwdz.ch.db.domain.InvitationCode;
import com.wwdz.ch.db.domain.InviteRecord;
import com.wwdz.ch.db.dto.request.InvitationCodeRequestDto;
import com.wwdz.ch.db.dto.request.InviteRecordRequestDto;
import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.Date;
import java.util.List;
@Service
public class InviteRecordServiceImpl implements InviteRecordService {
private static final Logger logger = LoggerFactory.getLogger(InviteRecordServiceImpl.class);
@Autowired
InviteRecordDao inviteRecordDao;
@Autowired
InvitationCodeDao invitationCodeDao;
@Override
public Result create(InviteRecordRequestDto dto) {
try {
//查询邀请码信息
InvitationCodeRequestDto invitationCodeRequestDto = new InvitationCodeRequestDto();
invitationCodeRequestDto.setCode(dto.getInvitationCode());
List<InvitationCode> invitationCodeList = invitationCodeDao.findList(invitationCodeRequestDto);
if (CollectionUtils.isEmpty(invitationCodeList)) {
return Result.failed("邀请码错误");
}
InvitationCode invitationCode = invitationCodeList.get(0);
InviteRecord inviteRecord = new InviteRecord();
EntityMapper.copyAttribute(dto, inviteRecord);
inviteRecord.setCreateTime(new Date());
//邀请人
inviteRecord.setInviter(invitationCode.getApplicant());
inviteRecordDao.create(inviteRecord);
return Result.success();
} catch (Exception e) {
logger.error("邀请码使用失败:{}", e);
}
return Result.failed("使用邀请码失败");
}
@Override
public Result isExisted(String phone) {
return null;
}
@Override
public Result findList(InviteRecordRequestDto dto) {
return null;
}
@Override
public Result checkCode(InviteRecordRequestDto dto) {
return null;
}
}
package com.wwdz.ch.admin.service;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.InvitationCodeRequestDto;
public interface InvitationCodeService {
Result create(InvitationCodeRequestDto invitationCodeRequestDto);
Result update(InvitationCodeRequestDto invitationCodeRequestDto);
Result updateState(InvitationCodeRequestDto invitationCodeRequestDto);
Result findList(InvitationCodeRequestDto invitationCodeRequestDto);
Result findDetails(InvitationCodeRequestDto invitationCodeRequestDto);
Result findByPage(InvitationCodeRequestDto invitationCodeRequestDto);
}
package com.wwdz.ch.admin.service;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.InviteRecordRequestDto;
public interface InviteRecordService {
Result create(InviteRecordRequestDto dto);
Result isExisted(String phone);
Result findList(InviteRecordRequestDto dto);
/**
* 校验邀请码
* @param dto
* @return
*/
Result checkCode(InviteRecordRequestDto dto);
}
package com.wwdz.ch.core.consts;
public enum InvitationCodeStateEnum {
Not_used(0, "未使用"),
part_used(1, "部分使用"),
all_used(2, "全部使用"),
expired(3, "已过期"),
invalid(6, "已失效"),
;
private int code;
private String des;
InvitationCodeStateEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (InvitationCodeStateEnum invitationCodeStateEnum : InvitationCodeStateEnum.values()) {
if (code == invitationCodeStateEnum.getCode()) {
return invitationCodeStateEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
package com.wwdz.ch.db.dao;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.db.domain.InvitationCode;
import com.wwdz.ch.db.dto.request.InvitationCodeRequestDto;
import java.util.List;
public interface InvitationCodeDao {
boolean create(InvitationCode invitationCode);
boolean update(InvitationCode invitationCode);
boolean isExisted(String code);
boolean updateState(String code, Integer state);
List<InvitationCode> findList(InvitationCodeRequestDto dto);
PageInfo<InvitationCode> findByPage(InvitationCodeRequestDto dto);
}
package com.wwdz.ch.db.dao;
import com.wwdz.ch.db.domain.InviteRecord;
import com.wwdz.ch.db.dto.request.InviteRecordRequestDto;
import java.util.List;
public interface InviteRecordDao {
boolean create(InviteRecord inviteRecord);
boolean isExisted(String phone);
List<InviteRecord> findList(InviteRecordRequestDto dto);
long countByCode(String invitationCode);
}
This diff is collapsed.
package com.wwdz.ch.db.domain;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import com.xxdxxs.entity.Entity;
import lombok.Data;
/**
* @author shiyu
* @date 2023/08/31
*/
@Data
public class InviteRecord implements Entity {
private Integer id;
/**
* 受邀人
*/
private Long invitee;
/**
* 邀请人
*/
private Long inviter;
/**
* 受邀人手机号
*/
private String inviteePhone;
/**
* 创建时间(使用邀请码的时间)
*/
private Date createTime;
/**
* 邀请码
*/
private String invitationCode;
private static final long serialVersionUID = 1L;
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", invitee=").append(invitee);
sb.append(", inviter=").append(inviter);
sb.append(", inviteePhone=").append(inviteePhone);
sb.append(", createTime=").append(createTime);
sb.append(", invitationCode=").append(invitationCode);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
InviteRecord other = (InviteRecord) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getInvitee() == null ? other.getInvitee() == null : this.getInvitee().equals(other.getInvitee()))
&& (this.getInviter() == null ? other.getInviter() == null : this.getInviter().equals(other.getInviter()))
&& (this.getInviteePhone() == null ? other.getInviteePhone() == null : this.getInviteePhone().equals(other.getInviteePhone()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getInvitationCode() == null ? other.getInvitationCode() == null : this.getInvitationCode().equals(other.getInvitationCode()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getInvitee() == null) ? 0 : getInvitee().hashCode());
result = prime * result + ((getInviter() == null) ? 0 : getInviter().hashCode());
result = prime * result + ((getInviteePhone() == null) ? 0 : getInviteePhone().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getInvitationCode() == null) ? 0 : getInvitationCode().hashCode());
return result;
}
/**
* This enum was generated by MyBatis Generator.
* This enum corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public enum Column {
id("id", "id", "INTEGER", false),
invitee("invitee", "invitee", "BIGINT", false),
inviter("inviter", "inviter", "BIGINT", false),
inviteePhone("invitee_phone", "inviteePhone", "VARCHAR", false),
createTime("create_time", "createTime", "TIMESTAMP", false),
invitationCode("invitation_code", "invitationCode", "VARCHAR", false);
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private static final String BEGINNING_DELIMITER = "`";
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private static final String ENDING_DELIMITER = "`";
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private final String column;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private final boolean isColumnNameDelimited;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private final String javaProperty;
/**
* This field was generated by MyBatis Generator.
* This field corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
private final String jdbcType;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String value() {
return this.column;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String getValue() {
return this.column;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String getJavaProperty() {
return this.javaProperty;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String getJdbcType() {
return this.jdbcType;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
Column(String column, String javaProperty, String jdbcType, boolean isColumnNameDelimited) {
this.column = column;
this.javaProperty = javaProperty;
this.jdbcType = jdbcType;
this.isColumnNameDelimited = isColumnNameDelimited;
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String desc() {
return this.getEscapedColumnName() + " DESC";
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String asc() {
return this.getEscapedColumnName() + " ASC";
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public static Column[] excludes(Column ... excludes) {
ArrayList<Column> columns = new ArrayList<>(Arrays.asList(Column.values()));
if (excludes != null && excludes.length > 0) {
columns.removeAll(new ArrayList<>(Arrays.asList(excludes)));
}
return columns.toArray(new Column[]{});
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
public String getEscapedColumnName() {
if (this.isColumnNameDelimited) {
return new StringBuilder().append(BEGINNING_DELIMITER).append(this.column).append(ENDING_DELIMITER).toString();
} else {
return this.column;
}
}
}
}
\ No newline at end of file
package com.wwdz.ch.db.dto.request;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class InvitationCodeRequestDto extends BaseRequestDto implements Entity {
/**
* id
*/
private Long id;
/**
* 邀请码
*/
private String code;
/**
* 有效期起始时间
*/
private Date effectiveStartTime;
/**
* 有效期结束时间
*/
private Date effectiveEndTime;
/**
* 可使用的人数
*/
private Integer enabledNum;
/**
* 申请人
*/
private Long applicant;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 创建人
*/
private Integer creator;
/**
* 状态
*/
private Integer state;
/**
* 备注
*/
private String remark;
}
package com.wwdz.ch.db.dto.request;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class InviteRecordRequestDto implements Entity {
private Integer id;
/**
* 受邀人
*/
private Long invitee;
/**
* 邀请人
*/
private Long inviter;
/**
* 受邀人手机号
*/
private String inviteePhone;
/**
* 创建时间(使用邀请码的时间)
*/
private Date createTime;
/**
* 邀请码
*/
private String invitationCode;
}
package com.wwdz.ch.db.impl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.wwdz.ch.db.dao.InvitationCodeDao;
import com.wwdz.ch.db.domain.InvitationCode;
import com.wwdz.ch.db.domain.InvitationCodeExample;
import com.wwdz.ch.db.dto.request.InvitationCodeRequestDto;
import com.wwdz.ch.db.mapper.InvitationCodeMapper;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class InvitationCodeDaoImpl implements InvitationCodeDao {
@Autowired
InvitationCodeMapper invitationCodeMapper;
@Override
public boolean create(InvitationCode invitationCode) {
int num = invitationCodeMapper.insertSelective(invitationCode);
return num > 0;
}
@Override
public boolean update(InvitationCode invitationCode) {
InvitationCodeExample invitationCodeExample = new InvitationCodeExample();
InvitationCodeExample.Criteria criteria = invitationCodeExample.createCriteria();
criteria.andCodeEqualTo(invitationCode.getCode());
int num = invitationCodeMapper.updateByExampleSelective(invitationCode, invitationCodeExample);
return num > 0;
}
@Override
public boolean isExisted(String code) {
InvitationCodeExample invitationCodeExample = new InvitationCodeExample();
InvitationCodeExample.Criteria criteria = invitationCodeExample.createCriteria();
criteria.andCodeEqualTo(code);
long num = invitationCodeMapper.countByExample(invitationCodeExample);
return num > 0;
}
@Override
public boolean updateState(String code, Integer state) {
InvitationCodeExample invitationCodeExample = new InvitationCodeExample();
InvitationCodeExample.Criteria criteria = invitationCodeExample.createCriteria();
criteria.andCodeEqualTo(code);
InvitationCode invitationCode = new InvitationCode();
invitationCode.setState(state);
int num = invitationCodeMapper.updateByExampleSelective(invitationCode, invitationCodeExample);
return num > 0;
}
@Override
public List<InvitationCode> findList(InvitationCodeRequestDto dto) {
InvitationCodeExample invitationCodeExample = new InvitationCodeExample();
InvitationCodeExample.Criteria criteria = invitationCodeExample.createCriteria();
JdbcHelper.ifPresent(dto.getCode(), criteria::andCodeEqualTo);
return invitationCodeMapper.selectByExample(invitationCodeExample);
}
@Override
public PageInfo<InvitationCode> findByPage(InvitationCodeRequestDto dto) {
InvitationCodeExample invitationCodeExample = new InvitationCodeExample();
InvitationCodeExample.Criteria criteria = invitationCodeExample.createCriteria();
PageHelper.startPage(dto.getPage(), dto.getLimit());
List<InvitationCode> list = invitationCodeMapper.selectByExample(invitationCodeExample);
return new PageInfo<>(list);
}
}
package com.wwdz.ch.db.impl;
import com.wwdz.ch.db.dao.InviteRecordDao;
import com.wwdz.ch.db.domain.InviteRecord;
import com.wwdz.ch.db.domain.InviteRecordExample;
import com.wwdz.ch.db.dto.request.InviteRecordRequestDto;
import com.wwdz.ch.db.mapper.InviteRecordMapper;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Repository
public class InviteRecordDaoImpl implements InviteRecordDao {
@Autowired
InviteRecordMapper inviteRecordMapper;
@Override
public boolean create(InviteRecord inviteRecord) {
int num = inviteRecordMapper.insertSelective(inviteRecord);
return num > 0;
}
@Override
public boolean isExisted(String phone) {
InviteRecordExample inviteRecordExample = new InviteRecordExample();
InviteRecordExample.Criteria criteria = inviteRecordExample.createCriteria();
criteria.andInviteePhoneEqualTo(phone);
long num = inviteRecordMapper.countByExample(inviteRecordExample);
return num > 0;
}
@Override
public List<InviteRecord> findList(InviteRecordRequestDto dto) {
InviteRecordExample inviteRecordExample = new InviteRecordExample();
InviteRecordExample.Criteria criteria = inviteRecordExample.createCriteria();
JdbcHelper.ifPresent(dto.getInvitationCode(), criteria::andInvitationCodeEqualTo);
return inviteRecordMapper.selectByExample(inviteRecordExample);
}
@Override
public long countByCode(String invitationCode) {
InviteRecordExample inviteRecordExample = new InviteRecordExample();
InviteRecordExample.Criteria criteria = inviteRecordExample.createCriteria();
criteria.andInvitationCodeEqualTo(invitationCode);
return inviteRecordMapper.countByExample(inviteRecordExample);
}
}
package com.wwdz.ch.db.mapper;
import com.wwdz.ch.db.domain.InvitationCode;
import com.wwdz.ch.db.domain.InvitationCodeExample;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface InvitationCodeMapper {
long countByExample(InvitationCodeExample example);
int deleteByExample(InvitationCodeExample example);
int deleteByPrimaryKey(Long id);
int insert(InvitationCode record);
int insertSelective(InvitationCode record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invitation_code
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
InvitationCode selectOneByExample(InvitationCodeExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invitation_code
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
InvitationCode selectOneByExampleSelective(@Param("example") InvitationCodeExample example, @Param("selective") InvitationCode.Column ... selective);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invitation_code
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
List<InvitationCode> selectByExampleSelective(@Param("example") InvitationCodeExample example, @Param("selective") InvitationCode.Column ... selective);
List<InvitationCode> selectByExample(InvitationCodeExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invitation_code
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
InvitationCode selectByPrimaryKeySelective(@Param("id") Long id, @Param("selective") InvitationCode.Column ... selective);
InvitationCode selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") InvitationCode record, @Param("example") InvitationCodeExample example);
int updateByExample(@Param("record") InvitationCode record, @Param("example") InvitationCodeExample example);
int updateByPrimaryKeySelective(InvitationCode record);
int updateByPrimaryKey(InvitationCode record);
}
\ No newline at end of file
package com.wwdz.ch.db.mapper;
import com.wwdz.ch.db.domain.InviteRecord;
import com.wwdz.ch.db.domain.InviteRecordExample;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface InviteRecordMapper {
long countByExample(InviteRecordExample example);
int deleteByExample(InviteRecordExample example);
int deleteByPrimaryKey(Integer id);
int insert(InviteRecord record);
int insertSelective(InviteRecord record);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
InviteRecord selectOneByExample(InviteRecordExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
InviteRecord selectOneByExampleSelective(@Param("example") InviteRecordExample example, @Param("selective") InviteRecord.Column ... selective);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
List<InviteRecord> selectByExampleSelective(@Param("example") InviteRecordExample example, @Param("selective") InviteRecord.Column ... selective);
List<InviteRecord> selectByExample(InviteRecordExample example);
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table invite_record
*
* @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin
*/
InviteRecord selectByPrimaryKeySelective(@Param("id") Integer id, @Param("selective") InviteRecord.Column ... selective);
InviteRecord selectByPrimaryKey(Integer id);
int updateByExampleSelective(@Param("record") InviteRecord record, @Param("example") InviteRecordExample example);
int updateByExample(@Param("record") InviteRecord record, @Param("example") InviteRecordExample example);
int updateByPrimaryKeySelective(InviteRecord record);
int updateByPrimaryKey(InviteRecord record);
}
\ No newline at end of file
package com.wwdz.ch.wx.service;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.InviteRecordRequestDto;
public interface InviteRecordService {
Result create(InviteRecordRequestDto dto);
Result isExisted(String phone);
Result findList(InviteRecordRequestDto dto);
/**
* 校验邀请码
* @param dto
* @return
*/
Result checkCode(InviteRecordRequestDto dto);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment