parent
53981f89e0
commit
accf49d08c
Before Width: | Height: | Size: 273 B |
Before Width: | Height: | Size: 278 B |
Before Width: | Height: | Size: 275 B |
Before Width: | Height: | Size: 278 B |
Before Width: | Height: | Size: 280 B |
@ -0,0 +1,117 @@ |
||||
package com.hfkj.dao; |
||||
|
||||
import com.hfkj.entity.BsUserParentRel; |
||||
import com.hfkj.entity.BsUserParentRelExample; |
||||
import java.util.List; |
||||
import org.apache.ibatis.annotations.Delete; |
||||
import org.apache.ibatis.annotations.DeleteProvider; |
||||
import org.apache.ibatis.annotations.Insert; |
||||
import org.apache.ibatis.annotations.InsertProvider; |
||||
import org.apache.ibatis.annotations.Options; |
||||
import org.apache.ibatis.annotations.Param; |
||||
import org.apache.ibatis.annotations.Result; |
||||
import org.apache.ibatis.annotations.Results; |
||||
import org.apache.ibatis.annotations.Select; |
||||
import org.apache.ibatis.annotations.SelectProvider; |
||||
import org.apache.ibatis.annotations.Update; |
||||
import org.apache.ibatis.annotations.UpdateProvider; |
||||
import org.apache.ibatis.type.JdbcType; |
||||
import org.springframework.stereotype.Repository; |
||||
|
||||
/** |
||||
* |
||||
* 代码由工具生成,请勿修改!!! |
||||
* 如果需要扩展请在其父类进行扩展 |
||||
* |
||||
**/ |
||||
@Repository |
||||
public interface BsUserParentRelMapper extends BsUserParentRelMapperExt { |
||||
@SelectProvider(type=BsUserParentRelSqlProvider.class, method="countByExample") |
||||
long countByExample(BsUserParentRelExample example); |
||||
|
||||
@DeleteProvider(type=BsUserParentRelSqlProvider.class, method="deleteByExample") |
||||
int deleteByExample(BsUserParentRelExample example); |
||||
|
||||
@Delete({ |
||||
"delete from bs_user_parent_rel", |
||||
"where id = #{id,jdbcType=BIGINT}" |
||||
}) |
||||
int deleteByPrimaryKey(Long id); |
||||
|
||||
@Insert({ |
||||
"insert into bs_user_parent_rel (parent_user_id, parent_user_grade, ", |
||||
"user_id, `status`, create_time, ", |
||||
"update_time, ext_1, ", |
||||
"ext_2, ext_3)", |
||||
"values (#{parentUserId,jdbcType=BIGINT}, #{parentUserGrade,jdbcType=INTEGER}, ", |
||||
"#{userId,jdbcType=BIGINT}, #{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, ", |
||||
"#{updateTime,jdbcType=TIMESTAMP}, #{ext1,jdbcType=VARCHAR}, ", |
||||
"#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" |
||||
}) |
||||
@Options(useGeneratedKeys=true,keyProperty="id") |
||||
int insert(BsUserParentRel record); |
||||
|
||||
@InsertProvider(type=BsUserParentRelSqlProvider.class, method="insertSelective") |
||||
@Options(useGeneratedKeys=true,keyProperty="id") |
||||
int insertSelective(BsUserParentRel record); |
||||
|
||||
@SelectProvider(type=BsUserParentRelSqlProvider.class, method="selectByExample") |
||||
@Results({ |
||||
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), |
||||
@Result(column="parent_user_id", property="parentUserId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="parent_user_grade", property="parentUserGrade", jdbcType=JdbcType.INTEGER), |
||||
@Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), |
||||
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), |
||||
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP), |
||||
@Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR), |
||||
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR), |
||||
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR) |
||||
}) |
||||
List<BsUserParentRel> selectByExample(BsUserParentRelExample example); |
||||
|
||||
@Select({ |
||||
"select", |
||||
"id, parent_user_id, parent_user_grade, user_id, `status`, create_time, update_time, ", |
||||
"ext_1, ext_2, ext_3", |
||||
"from bs_user_parent_rel", |
||||
"where id = #{id,jdbcType=BIGINT}" |
||||
}) |
||||
@Results({ |
||||
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), |
||||
@Result(column="parent_user_id", property="parentUserId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="parent_user_grade", property="parentUserGrade", jdbcType=JdbcType.INTEGER), |
||||
@Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), |
||||
@Result(column="create_time", property="createTime", jdbcType=JdbcType.TIMESTAMP), |
||||
@Result(column="update_time", property="updateTime", jdbcType=JdbcType.TIMESTAMP), |
||||
@Result(column="ext_1", property="ext1", jdbcType=JdbcType.VARCHAR), |
||||
@Result(column="ext_2", property="ext2", jdbcType=JdbcType.VARCHAR), |
||||
@Result(column="ext_3", property="ext3", jdbcType=JdbcType.VARCHAR) |
||||
}) |
||||
BsUserParentRel selectByPrimaryKey(Long id); |
||||
|
||||
@UpdateProvider(type=BsUserParentRelSqlProvider.class, method="updateByExampleSelective") |
||||
int updateByExampleSelective(@Param("record") BsUserParentRel record, @Param("example") BsUserParentRelExample example); |
||||
|
||||
@UpdateProvider(type=BsUserParentRelSqlProvider.class, method="updateByExample") |
||||
int updateByExample(@Param("record") BsUserParentRel record, @Param("example") BsUserParentRelExample example); |
||||
|
||||
@UpdateProvider(type=BsUserParentRelSqlProvider.class, method="updateByPrimaryKeySelective") |
||||
int updateByPrimaryKeySelective(BsUserParentRel record); |
||||
|
||||
@Update({ |
||||
"update bs_user_parent_rel", |
||||
"set parent_user_id = #{parentUserId,jdbcType=BIGINT},", |
||||
"parent_user_grade = #{parentUserGrade,jdbcType=INTEGER},", |
||||
"user_id = #{userId,jdbcType=BIGINT},", |
||||
"`status` = #{status,jdbcType=INTEGER},", |
||||
"create_time = #{createTime,jdbcType=TIMESTAMP},", |
||||
"update_time = #{updateTime,jdbcType=TIMESTAMP},", |
||||
"ext_1 = #{ext1,jdbcType=VARCHAR},", |
||||
"ext_2 = #{ext2,jdbcType=VARCHAR},", |
||||
"ext_3 = #{ext3,jdbcType=VARCHAR}", |
||||
"where id = #{id,jdbcType=BIGINT}" |
||||
}) |
||||
int updateByPrimaryKey(BsUserParentRel record); |
||||
} |
@ -0,0 +1,7 @@ |
||||
package com.hfkj.dao; |
||||
|
||||
/** |
||||
* mapper扩展类 |
||||
*/ |
||||
public interface BsUserParentRelMapperExt { |
||||
} |
@ -0,0 +1,304 @@ |
||||
package com.hfkj.dao; |
||||
|
||||
import com.hfkj.entity.BsUserParentRel; |
||||
import com.hfkj.entity.BsUserParentRelExample.Criteria; |
||||
import com.hfkj.entity.BsUserParentRelExample.Criterion; |
||||
import com.hfkj.entity.BsUserParentRelExample; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
import org.apache.ibatis.jdbc.SQL; |
||||
|
||||
public class BsUserParentRelSqlProvider { |
||||
|
||||
public String countByExample(BsUserParentRelExample example) { |
||||
SQL sql = new SQL(); |
||||
sql.SELECT("count(*)").FROM("bs_user_parent_rel"); |
||||
applyWhere(sql, example, false); |
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String deleteByExample(BsUserParentRelExample example) { |
||||
SQL sql = new SQL(); |
||||
sql.DELETE_FROM("bs_user_parent_rel"); |
||||
applyWhere(sql, example, false); |
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String insertSelective(BsUserParentRel record) { |
||||
SQL sql = new SQL(); |
||||
sql.INSERT_INTO("bs_user_parent_rel"); |
||||
|
||||
if (record.getParentUserId() != null) { |
||||
sql.VALUES("parent_user_id", "#{parentUserId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getParentUserGrade() != null) { |
||||
sql.VALUES("parent_user_grade", "#{parentUserGrade,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getUserId() != null) { |
||||
sql.VALUES("user_id", "#{userId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getStatus() != null) { |
||||
sql.VALUES("`status`", "#{status,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getCreateTime() != null) { |
||||
sql.VALUES("create_time", "#{createTime,jdbcType=TIMESTAMP}"); |
||||
} |
||||
|
||||
if (record.getUpdateTime() != null) { |
||||
sql.VALUES("update_time", "#{updateTime,jdbcType=TIMESTAMP}"); |
||||
} |
||||
|
||||
if (record.getExt1() != null) { |
||||
sql.VALUES("ext_1", "#{ext1,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getExt2() != null) { |
||||
sql.VALUES("ext_2", "#{ext2,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getExt3() != null) { |
||||
sql.VALUES("ext_3", "#{ext3,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String selectByExample(BsUserParentRelExample example) { |
||||
SQL sql = new SQL(); |
||||
if (example != null && example.isDistinct()) { |
||||
sql.SELECT_DISTINCT("id"); |
||||
} else { |
||||
sql.SELECT("id"); |
||||
} |
||||
sql.SELECT("parent_user_id"); |
||||
sql.SELECT("parent_user_grade"); |
||||
sql.SELECT("user_id"); |
||||
sql.SELECT("`status`"); |
||||
sql.SELECT("create_time"); |
||||
sql.SELECT("update_time"); |
||||
sql.SELECT("ext_1"); |
||||
sql.SELECT("ext_2"); |
||||
sql.SELECT("ext_3"); |
||||
sql.FROM("bs_user_parent_rel"); |
||||
applyWhere(sql, example, false); |
||||
|
||||
if (example != null && example.getOrderByClause() != null) { |
||||
sql.ORDER_BY(example.getOrderByClause()); |
||||
} |
||||
|
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String updateByExampleSelective(Map<String, Object> parameter) { |
||||
BsUserParentRel record = (BsUserParentRel) parameter.get("record"); |
||||
BsUserParentRelExample example = (BsUserParentRelExample) parameter.get("example"); |
||||
|
||||
SQL sql = new SQL(); |
||||
sql.UPDATE("bs_user_parent_rel"); |
||||
|
||||
if (record.getId() != null) { |
||||
sql.SET("id = #{record.id,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getParentUserId() != null) { |
||||
sql.SET("parent_user_id = #{record.parentUserId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getParentUserGrade() != null) { |
||||
sql.SET("parent_user_grade = #{record.parentUserGrade,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getUserId() != null) { |
||||
sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getStatus() != null) { |
||||
sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getCreateTime() != null) { |
||||
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}"); |
||||
} |
||||
|
||||
if (record.getUpdateTime() != null) { |
||||
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}"); |
||||
} |
||||
|
||||
if (record.getExt1() != null) { |
||||
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getExt2() != null) { |
||||
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getExt3() != null) { |
||||
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
applyWhere(sql, example, true); |
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String updateByExample(Map<String, Object> parameter) { |
||||
SQL sql = new SQL(); |
||||
sql.UPDATE("bs_user_parent_rel"); |
||||
|
||||
sql.SET("id = #{record.id,jdbcType=BIGINT}"); |
||||
sql.SET("parent_user_id = #{record.parentUserId,jdbcType=BIGINT}"); |
||||
sql.SET("parent_user_grade = #{record.parentUserGrade,jdbcType=INTEGER}"); |
||||
sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); |
||||
sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); |
||||
sql.SET("create_time = #{record.createTime,jdbcType=TIMESTAMP}"); |
||||
sql.SET("update_time = #{record.updateTime,jdbcType=TIMESTAMP}"); |
||||
sql.SET("ext_1 = #{record.ext1,jdbcType=VARCHAR}"); |
||||
sql.SET("ext_2 = #{record.ext2,jdbcType=VARCHAR}"); |
||||
sql.SET("ext_3 = #{record.ext3,jdbcType=VARCHAR}"); |
||||
|
||||
BsUserParentRelExample example = (BsUserParentRelExample) parameter.get("example"); |
||||
applyWhere(sql, example, true); |
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String updateByPrimaryKeySelective(BsUserParentRel record) { |
||||
SQL sql = new SQL(); |
||||
sql.UPDATE("bs_user_parent_rel"); |
||||
|
||||
if (record.getParentUserId() != null) { |
||||
sql.SET("parent_user_id = #{parentUserId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getParentUserGrade() != null) { |
||||
sql.SET("parent_user_grade = #{parentUserGrade,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getUserId() != null) { |
||||
sql.SET("user_id = #{userId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getStatus() != null) { |
||||
sql.SET("`status` = #{status,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getCreateTime() != null) { |
||||
sql.SET("create_time = #{createTime,jdbcType=TIMESTAMP}"); |
||||
} |
||||
|
||||
if (record.getUpdateTime() != null) { |
||||
sql.SET("update_time = #{updateTime,jdbcType=TIMESTAMP}"); |
||||
} |
||||
|
||||
if (record.getExt1() != null) { |
||||
sql.SET("ext_1 = #{ext1,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getExt2() != null) { |
||||
sql.SET("ext_2 = #{ext2,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getExt3() != null) { |
||||
sql.SET("ext_3 = #{ext3,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
sql.WHERE("id = #{id,jdbcType=BIGINT}"); |
||||
|
||||
return sql.toString(); |
||||
} |
||||
|
||||
protected void applyWhere(SQL sql, BsUserParentRelExample example, boolean includeExamplePhrase) { |
||||
if (example == null) { |
||||
return; |
||||
} |
||||
|
||||
String parmPhrase1; |
||||
String parmPhrase1_th; |
||||
String parmPhrase2; |
||||
String parmPhrase2_th; |
||||
String parmPhrase3; |
||||
String parmPhrase3_th; |
||||
if (includeExamplePhrase) { |
||||
parmPhrase1 = "%s #{example.oredCriteria[%d].allCriteria[%d].value}"; |
||||
parmPhrase1_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; |
||||
parmPhrase2 = "%s #{example.oredCriteria[%d].allCriteria[%d].value} and #{example.oredCriteria[%d].criteria[%d].secondValue}"; |
||||
parmPhrase2_th = "%s #{example.oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{example.oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; |
||||
parmPhrase3 = "#{example.oredCriteria[%d].allCriteria[%d].value[%d]}"; |
||||
parmPhrase3_th = "#{example.oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; |
||||
} else { |
||||
parmPhrase1 = "%s #{oredCriteria[%d].allCriteria[%d].value}"; |
||||
parmPhrase1_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s}"; |
||||
parmPhrase2 = "%s #{oredCriteria[%d].allCriteria[%d].value} and #{oredCriteria[%d].criteria[%d].secondValue}"; |
||||
parmPhrase2_th = "%s #{oredCriteria[%d].allCriteria[%d].value,typeHandler=%s} and #{oredCriteria[%d].criteria[%d].secondValue,typeHandler=%s}"; |
||||
parmPhrase3 = "#{oredCriteria[%d].allCriteria[%d].value[%d]}"; |
||||
parmPhrase3_th = "#{oredCriteria[%d].allCriteria[%d].value[%d],typeHandler=%s}"; |
||||
} |
||||
|
||||
StringBuilder sb = new StringBuilder(); |
||||
List<Criteria> oredCriteria = example.getOredCriteria(); |
||||
boolean firstCriteria = true; |
||||
for (int i = 0; i < oredCriteria.size(); i++) { |
||||
Criteria criteria = oredCriteria.get(i); |
||||
if (criteria.isValid()) { |
||||
if (firstCriteria) { |
||||
firstCriteria = false; |
||||
} else { |
||||
sb.append(" or "); |
||||
} |
||||
|
||||
sb.append('('); |
||||
List<Criterion> criterions = criteria.getAllCriteria(); |
||||
boolean firstCriterion = true; |
||||
for (int j = 0; j < criterions.size(); j++) { |
||||
Criterion criterion = criterions.get(j); |
||||
if (firstCriterion) { |
||||
firstCriterion = false; |
||||
} else { |
||||
sb.append(" and "); |
||||
} |
||||
|
||||
if (criterion.isNoValue()) { |
||||
sb.append(criterion.getCondition()); |
||||
} else if (criterion.isSingleValue()) { |
||||
if (criterion.getTypeHandler() == null) { |
||||
sb.append(String.format(parmPhrase1, criterion.getCondition(), i, j)); |
||||
} else { |
||||
sb.append(String.format(parmPhrase1_th, criterion.getCondition(), i, j,criterion.getTypeHandler())); |
||||
} |
||||
} else if (criterion.isBetweenValue()) { |
||||
if (criterion.getTypeHandler() == null) { |
||||
sb.append(String.format(parmPhrase2, criterion.getCondition(), i, j, i, j)); |
||||
} else { |
||||
sb.append(String.format(parmPhrase2_th, criterion.getCondition(), i, j, criterion.getTypeHandler(), i, j, criterion.getTypeHandler())); |
||||
} |
||||
} else if (criterion.isListValue()) { |
||||
sb.append(criterion.getCondition()); |
||||
sb.append(" ("); |
||||
List<?> listItems = (List<?>) criterion.getValue(); |
||||
boolean comma = false; |
||||
for (int k = 0; k < listItems.size(); k++) { |
||||
if (comma) { |
||||
sb.append(", "); |
||||
} else { |
||||
comma = true; |
||||
} |
||||
if (criterion.getTypeHandler() == null) { |
||||
sb.append(String.format(parmPhrase3, i, j, k)); |
||||
} else { |
||||
sb.append(String.format(parmPhrase3_th, i, j, k, criterion.getTypeHandler())); |
||||
} |
||||
} |
||||
sb.append(')'); |
||||
} |
||||
} |
||||
sb.append(')'); |
||||
} |
||||
} |
||||
|
||||
if (sb.length() > 0) { |
||||
sql.WHERE(sb.toString()); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,200 @@ |
||||
package com.hfkj.entity; |
||||
|
||||
import java.io.Serializable; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* bs_user_parent_rel |
||||
* @author |
||||
*/ |
||||
/** |
||||
* |
||||
* 代码由工具生成 |
||||
* |
||||
**/ |
||||
public class BsUserParentRel implements Serializable { |
||||
/** |
||||
* 主键 |
||||
*/ |
||||
private Long id; |
||||
|
||||
/** |
||||
* 上级用户id |
||||
*/ |
||||
private Long parentUserId; |
||||
|
||||
/** |
||||
* 上级用户等级 |
||||
*/ |
||||
private Integer parentUserGrade; |
||||
|
||||
/** |
||||
* 用户id |
||||
*/ |
||||
private Long userId; |
||||
|
||||
/** |
||||
* 状态 0:删除 1:正常 |
||||
*/ |
||||
private Integer status; |
||||
|
||||
/** |
||||
* 创建时间 |
||||
*/ |
||||
private Date createTime; |
||||
|
||||
/** |
||||
* 修改时间 |
||||
*/ |
||||
private Date updateTime; |
||||
|
||||
private String ext1; |
||||
|
||||
private String ext2; |
||||
|
||||
private String ext3; |
||||
|
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
public Long getId() { |
||||
return id; |
||||
} |
||||
|
||||
public void setId(Long id) { |
||||
this.id = id; |
||||
} |
||||
|
||||
public Long getParentUserId() { |
||||
return parentUserId; |
||||
} |
||||
|
||||
public void setParentUserId(Long parentUserId) { |
||||
this.parentUserId = parentUserId; |
||||
} |
||||
|
||||
public Integer getParentUserGrade() { |
||||
return parentUserGrade; |
||||
} |
||||
|
||||
public void setParentUserGrade(Integer parentUserGrade) { |
||||
this.parentUserGrade = parentUserGrade; |
||||
} |
||||
|
||||
public Long getUserId() { |
||||
return userId; |
||||
} |
||||
|
||||
public void setUserId(Long userId) { |
||||
this.userId = userId; |
||||
} |
||||
|
||||
public Integer getStatus() { |
||||
return status; |
||||
} |
||||
|
||||
public void setStatus(Integer status) { |
||||
this.status = status; |
||||
} |
||||
|
||||
public Date getCreateTime() { |
||||
return createTime; |
||||
} |
||||
|
||||
public void setCreateTime(Date createTime) { |
||||
this.createTime = createTime; |
||||
} |
||||
|
||||
public Date getUpdateTime() { |
||||
return updateTime; |
||||
} |
||||
|
||||
public void setUpdateTime(Date updateTime) { |
||||
this.updateTime = updateTime; |
||||
} |
||||
|
||||
public String getExt1() { |
||||
return ext1; |
||||
} |
||||
|
||||
public void setExt1(String ext1) { |
||||
this.ext1 = ext1; |
||||
} |
||||
|
||||
public String getExt2() { |
||||
return ext2; |
||||
} |
||||
|
||||
public void setExt2(String ext2) { |
||||
this.ext2 = ext2; |
||||
} |
||||
|
||||
public String getExt3() { |
||||
return ext3; |
||||
} |
||||
|
||||
public void setExt3(String ext3) { |
||||
this.ext3 = ext3; |
||||
} |
||||
|
||||
@Override |
||||
public boolean equals(Object that) { |
||||
if (this == that) { |
||||
return true; |
||||
} |
||||
if (that == null) { |
||||
return false; |
||||
} |
||||
if (getClass() != that.getClass()) { |
||||
return false; |
||||
} |
||||
BsUserParentRel other = (BsUserParentRel) that; |
||||
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) |
||||
&& (this.getParentUserId() == null ? other.getParentUserId() == null : this.getParentUserId().equals(other.getParentUserId())) |
||||
&& (this.getParentUserGrade() == null ? other.getParentUserGrade() == null : this.getParentUserGrade().equals(other.getParentUserGrade())) |
||||
&& (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId())) |
||||
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) |
||||
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())) |
||||
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime())) |
||||
&& (this.getExt1() == null ? other.getExt1() == null : this.getExt1().equals(other.getExt1())) |
||||
&& (this.getExt2() == null ? other.getExt2() == null : this.getExt2().equals(other.getExt2())) |
||||
&& (this.getExt3() == null ? other.getExt3() == null : this.getExt3().equals(other.getExt3())); |
||||
} |
||||
|
||||
@Override |
||||
public int hashCode() { |
||||
final int prime = 31; |
||||
int result = 1; |
||||
result = prime * result + ((getId() == null) ? 0 : getId().hashCode()); |
||||
result = prime * result + ((getParentUserId() == null) ? 0 : getParentUserId().hashCode()); |
||||
result = prime * result + ((getParentUserGrade() == null) ? 0 : getParentUserGrade().hashCode()); |
||||
result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode()); |
||||
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); |
||||
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode()); |
||||
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode()); |
||||
result = prime * result + ((getExt1() == null) ? 0 : getExt1().hashCode()); |
||||
result = prime * result + ((getExt2() == null) ? 0 : getExt2().hashCode()); |
||||
result = prime * result + ((getExt3() == null) ? 0 : getExt3().hashCode()); |
||||
return result; |
||||
} |
||||
|
||||
@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(", parentUserId=").append(parentUserId); |
||||
sb.append(", parentUserGrade=").append(parentUserGrade); |
||||
sb.append(", userId=").append(userId); |
||||
sb.append(", status=").append(status); |
||||
sb.append(", createTime=").append(createTime); |
||||
sb.append(", updateTime=").append(updateTime); |
||||
sb.append(", ext1=").append(ext1); |
||||
sb.append(", ext2=").append(ext2); |
||||
sb.append(", ext3=").append(ext3); |
||||
sb.append(", serialVersionUID=").append(serialVersionUID); |
||||
sb.append("]"); |
||||
return sb.toString(); |
||||
} |
||||
} |
@ -0,0 +1,853 @@ |
||||
package com.hfkj.entity; |
||||
|
||||
import java.util.ArrayList; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
|
||||
public class BsUserParentRelExample { |
||||
protected String orderByClause; |
||||
|
||||
protected boolean distinct; |
||||
|
||||
protected List<Criteria> oredCriteria; |
||||
|
||||
private Integer limit; |
||||
|
||||
private Long offset; |
||||
|
||||
public BsUserParentRelExample() { |
||||
oredCriteria = new ArrayList<Criteria>(); |
||||
} |
||||
|
||||
public void setOrderByClause(String orderByClause) { |
||||
this.orderByClause = orderByClause; |
||||
} |
||||
|
||||
public String getOrderByClause() { |
||||
return orderByClause; |
||||
} |
||||
|
||||
public void setDistinct(boolean distinct) { |
||||
this.distinct = distinct; |
||||
} |
||||
|
||||
public boolean isDistinct() { |
||||
return distinct; |
||||
} |
||||
|
||||
public List<Criteria> getOredCriteria() { |
||||
return oredCriteria; |
||||
} |
||||
|
||||
public void or(Criteria criteria) { |
||||
oredCriteria.add(criteria); |
||||
} |
||||
|
||||
public Criteria or() { |
||||
Criteria criteria = createCriteriaInternal(); |
||||
oredCriteria.add(criteria); |
||||
return criteria; |
||||
} |
||||
|
||||
public Criteria createCriteria() { |
||||
Criteria criteria = createCriteriaInternal(); |
||||
if (oredCriteria.size() == 0) { |
||||
oredCriteria.add(criteria); |
||||
} |
||||
return criteria; |
||||
} |
||||
|
||||
protected Criteria createCriteriaInternal() { |
||||
Criteria criteria = new Criteria(); |
||||
return criteria; |
||||
} |
||||
|
||||
public void clear() { |
||||
oredCriteria.clear(); |
||||
orderByClause = null; |
||||
distinct = false; |
||||
} |
||||
|
||||
public void setLimit(Integer limit) { |
||||
this.limit = limit; |
||||
} |
||||
|
||||
public Integer getLimit() { |
||||
return limit; |
||||
} |
||||
|
||||
public void setOffset(Long offset) { |
||||
this.offset = offset; |
||||
} |
||||
|
||||
public Long getOffset() { |
||||
return offset; |
||||
} |
||||
|
||||
protected abstract static class GeneratedCriteria { |
||||
protected List<Criterion> criteria; |
||||
|
||||
protected GeneratedCriteria() { |
||||
super(); |
||||
criteria = new ArrayList<Criterion>(); |
||||
} |
||||
|
||||
public boolean isValid() { |
||||
return criteria.size() > 0; |
||||
} |
||||
|
||||
public List<Criterion> getAllCriteria() { |
||||
return criteria; |
||||
} |
||||
|
||||
public List<Criterion> getCriteria() { |
||||
return criteria; |
||||
} |
||||
|
||||
protected void addCriterion(String condition) { |
||||
if (condition == null) { |
||||
throw new RuntimeException("Value for condition cannot be null"); |
||||
} |
||||
criteria.add(new Criterion(condition)); |
||||
} |
||||
|
||||
protected void addCriterion(String condition, Object value, String property) { |
||||
if (value == null) { |
||||
throw new RuntimeException("Value for " + property + " cannot be null"); |
||||
} |
||||
criteria.add(new Criterion(condition, value)); |
||||
} |
||||
|
||||
protected void addCriterion(String condition, Object value1, Object value2, String property) { |
||||
if (value1 == null || value2 == null) { |
||||
throw new RuntimeException("Between values for " + property + " cannot be null"); |
||||
} |
||||
criteria.add(new Criterion(condition, value1, value2)); |
||||
} |
||||
|
||||
public Criteria andIdIsNull() { |
||||
addCriterion("id is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdIsNotNull() { |
||||
addCriterion("id is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdEqualTo(Long value) { |
||||
addCriterion("id =", value, "id"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdNotEqualTo(Long value) { |
||||
addCriterion("id <>", value, "id"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdGreaterThan(Long value) { |
||||
addCriterion("id >", value, "id"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdGreaterThanOrEqualTo(Long value) { |
||||
addCriterion("id >=", value, "id"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdLessThan(Long value) { |
||||
addCriterion("id <", value, "id"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdLessThanOrEqualTo(Long value) { |
||||
addCriterion("id <=", value, "id"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdIn(List<Long> values) { |
||||
addCriterion("id in", values, "id"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdNotIn(List<Long> values) { |
||||
addCriterion("id not in", values, "id"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdBetween(Long value1, Long value2) { |
||||
addCriterion("id between", value1, value2, "id"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andIdNotBetween(Long value1, Long value2) { |
||||
addCriterion("id not between", value1, value2, "id"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdIsNull() { |
||||
addCriterion("parent_user_id is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdIsNotNull() { |
||||
addCriterion("parent_user_id is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdEqualTo(Long value) { |
||||
addCriterion("parent_user_id =", value, "parentUserId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdNotEqualTo(Long value) { |
||||
addCriterion("parent_user_id <>", value, "parentUserId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdGreaterThan(Long value) { |
||||
addCriterion("parent_user_id >", value, "parentUserId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdGreaterThanOrEqualTo(Long value) { |
||||
addCriterion("parent_user_id >=", value, "parentUserId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdLessThan(Long value) { |
||||
addCriterion("parent_user_id <", value, "parentUserId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdLessThanOrEqualTo(Long value) { |
||||
addCriterion("parent_user_id <=", value, "parentUserId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdIn(List<Long> values) { |
||||
addCriterion("parent_user_id in", values, "parentUserId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdNotIn(List<Long> values) { |
||||
addCriterion("parent_user_id not in", values, "parentUserId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdBetween(Long value1, Long value2) { |
||||
addCriterion("parent_user_id between", value1, value2, "parentUserId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserIdNotBetween(Long value1, Long value2) { |
||||
addCriterion("parent_user_id not between", value1, value2, "parentUserId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeIsNull() { |
||||
addCriterion("parent_user_grade is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeIsNotNull() { |
||||
addCriterion("parent_user_grade is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeEqualTo(Integer value) { |
||||
addCriterion("parent_user_grade =", value, "parentUserGrade"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeNotEqualTo(Integer value) { |
||||
addCriterion("parent_user_grade <>", value, "parentUserGrade"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeGreaterThan(Integer value) { |
||||
addCriterion("parent_user_grade >", value, "parentUserGrade"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeGreaterThanOrEqualTo(Integer value) { |
||||
addCriterion("parent_user_grade >=", value, "parentUserGrade"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeLessThan(Integer value) { |
||||
addCriterion("parent_user_grade <", value, "parentUserGrade"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeLessThanOrEqualTo(Integer value) { |
||||
addCriterion("parent_user_grade <=", value, "parentUserGrade"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeIn(List<Integer> values) { |
||||
addCriterion("parent_user_grade in", values, "parentUserGrade"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeNotIn(List<Integer> values) { |
||||
addCriterion("parent_user_grade not in", values, "parentUserGrade"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeBetween(Integer value1, Integer value2) { |
||||
addCriterion("parent_user_grade between", value1, value2, "parentUserGrade"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andParentUserGradeNotBetween(Integer value1, Integer value2) { |
||||
addCriterion("parent_user_grade not between", value1, value2, "parentUserGrade"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdIsNull() { |
||||
addCriterion("user_id is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdIsNotNull() { |
||||
addCriterion("user_id is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdEqualTo(Long value) { |
||||
addCriterion("user_id =", value, "userId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdNotEqualTo(Long value) { |
||||
addCriterion("user_id <>", value, "userId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdGreaterThan(Long value) { |
||||
addCriterion("user_id >", value, "userId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdGreaterThanOrEqualTo(Long value) { |
||||
addCriterion("user_id >=", value, "userId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdLessThan(Long value) { |
||||
addCriterion("user_id <", value, "userId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdLessThanOrEqualTo(Long value) { |
||||
addCriterion("user_id <=", value, "userId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdIn(List<Long> values) { |
||||
addCriterion("user_id in", values, "userId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdNotIn(List<Long> values) { |
||||
addCriterion("user_id not in", values, "userId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdBetween(Long value1, Long value2) { |
||||
addCriterion("user_id between", value1, value2, "userId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUserIdNotBetween(Long value1, Long value2) { |
||||
addCriterion("user_id not between", value1, value2, "userId"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusIsNull() { |
||||
addCriterion("`status` is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusIsNotNull() { |
||||
addCriterion("`status` is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusEqualTo(Integer value) { |
||||
addCriterion("`status` =", value, "status"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusNotEqualTo(Integer value) { |
||||
addCriterion("`status` <>", value, "status"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusGreaterThan(Integer value) { |
||||
addCriterion("`status` >", value, "status"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusGreaterThanOrEqualTo(Integer value) { |
||||
addCriterion("`status` >=", value, "status"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusLessThan(Integer value) { |
||||
addCriterion("`status` <", value, "status"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusLessThanOrEqualTo(Integer value) { |
||||
addCriterion("`status` <=", value, "status"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusIn(List<Integer> values) { |
||||
addCriterion("`status` in", values, "status"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusNotIn(List<Integer> values) { |
||||
addCriterion("`status` not in", values, "status"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusBetween(Integer value1, Integer value2) { |
||||
addCriterion("`status` between", value1, value2, "status"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andStatusNotBetween(Integer value1, Integer value2) { |
||||
addCriterion("`status` not between", value1, value2, "status"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeIsNull() { |
||||
addCriterion("create_time is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeIsNotNull() { |
||||
addCriterion("create_time is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeEqualTo(Date value) { |
||||
addCriterion("create_time =", value, "createTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeNotEqualTo(Date value) { |
||||
addCriterion("create_time <>", value, "createTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeGreaterThan(Date value) { |
||||
addCriterion("create_time >", value, "createTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) { |
||||
addCriterion("create_time >=", value, "createTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeLessThan(Date value) { |
||||
addCriterion("create_time <", value, "createTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeLessThanOrEqualTo(Date value) { |
||||
addCriterion("create_time <=", value, "createTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeIn(List<Date> values) { |
||||
addCriterion("create_time in", values, "createTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeNotIn(List<Date> values) { |
||||
addCriterion("create_time not in", values, "createTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeBetween(Date value1, Date value2) { |
||||
addCriterion("create_time between", value1, value2, "createTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andCreateTimeNotBetween(Date value1, Date value2) { |
||||
addCriterion("create_time not between", value1, value2, "createTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeIsNull() { |
||||
addCriterion("update_time is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeIsNotNull() { |
||||
addCriterion("update_time is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeEqualTo(Date value) { |
||||
addCriterion("update_time =", value, "updateTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeNotEqualTo(Date value) { |
||||
addCriterion("update_time <>", value, "updateTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeGreaterThan(Date value) { |
||||
addCriterion("update_time >", value, "updateTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) { |
||||
addCriterion("update_time >=", value, "updateTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeLessThan(Date value) { |
||||
addCriterion("update_time <", value, "updateTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeLessThanOrEqualTo(Date value) { |
||||
addCriterion("update_time <=", value, "updateTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeIn(List<Date> values) { |
||||
addCriterion("update_time in", values, "updateTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeNotIn(List<Date> values) { |
||||
addCriterion("update_time not in", values, "updateTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeBetween(Date value1, Date value2) { |
||||
addCriterion("update_time between", value1, value2, "updateTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andUpdateTimeNotBetween(Date value1, Date value2) { |
||||
addCriterion("update_time not between", value1, value2, "updateTime"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1IsNull() { |
||||
addCriterion("ext_1 is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1IsNotNull() { |
||||
addCriterion("ext_1 is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1EqualTo(String value) { |
||||
addCriterion("ext_1 =", value, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1NotEqualTo(String value) { |
||||
addCriterion("ext_1 <>", value, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1GreaterThan(String value) { |
||||
addCriterion("ext_1 >", value, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1GreaterThanOrEqualTo(String value) { |
||||
addCriterion("ext_1 >=", value, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1LessThan(String value) { |
||||
addCriterion("ext_1 <", value, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1LessThanOrEqualTo(String value) { |
||||
addCriterion("ext_1 <=", value, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1Like(String value) { |
||||
addCriterion("ext_1 like", value, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1NotLike(String value) { |
||||
addCriterion("ext_1 not like", value, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1In(List<String> values) { |
||||
addCriterion("ext_1 in", values, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1NotIn(List<String> values) { |
||||
addCriterion("ext_1 not in", values, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1Between(String value1, String value2) { |
||||
addCriterion("ext_1 between", value1, value2, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt1NotBetween(String value1, String value2) { |
||||
addCriterion("ext_1 not between", value1, value2, "ext1"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2IsNull() { |
||||
addCriterion("ext_2 is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2IsNotNull() { |
||||
addCriterion("ext_2 is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2EqualTo(String value) { |
||||
addCriterion("ext_2 =", value, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2NotEqualTo(String value) { |
||||
addCriterion("ext_2 <>", value, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2GreaterThan(String value) { |
||||
addCriterion("ext_2 >", value, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2GreaterThanOrEqualTo(String value) { |
||||
addCriterion("ext_2 >=", value, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2LessThan(String value) { |
||||
addCriterion("ext_2 <", value, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2LessThanOrEqualTo(String value) { |
||||
addCriterion("ext_2 <=", value, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2Like(String value) { |
||||
addCriterion("ext_2 like", value, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2NotLike(String value) { |
||||
addCriterion("ext_2 not like", value, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2In(List<String> values) { |
||||
addCriterion("ext_2 in", values, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2NotIn(List<String> values) { |
||||
addCriterion("ext_2 not in", values, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2Between(String value1, String value2) { |
||||
addCriterion("ext_2 between", value1, value2, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt2NotBetween(String value1, String value2) { |
||||
addCriterion("ext_2 not between", value1, value2, "ext2"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3IsNull() { |
||||
addCriterion("ext_3 is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3IsNotNull() { |
||||
addCriterion("ext_3 is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3EqualTo(String value) { |
||||
addCriterion("ext_3 =", value, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3NotEqualTo(String value) { |
||||
addCriterion("ext_3 <>", value, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3GreaterThan(String value) { |
||||
addCriterion("ext_3 >", value, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3GreaterThanOrEqualTo(String value) { |
||||
addCriterion("ext_3 >=", value, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3LessThan(String value) { |
||||
addCriterion("ext_3 <", value, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3LessThanOrEqualTo(String value) { |
||||
addCriterion("ext_3 <=", value, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3Like(String value) { |
||||
addCriterion("ext_3 like", value, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3NotLike(String value) { |
||||
addCriterion("ext_3 not like", value, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3In(List<String> values) { |
||||
addCriterion("ext_3 in", values, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3NotIn(List<String> values) { |
||||
addCriterion("ext_3 not in", values, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3Between(String value1, String value2) { |
||||
addCriterion("ext_3 between", value1, value2, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andExt3NotBetween(String value1, String value2) { |
||||
addCriterion("ext_3 not between", value1, value2, "ext3"); |
||||
return (Criteria) this; |
||||
} |
||||
} |
||||
|
||||
/** |
||||
*/ |
||||
public static class Criteria extends GeneratedCriteria { |
||||
|
||||
protected Criteria() { |
||||
super(); |
||||
} |
||||
} |
||||
|
||||
public static class Criterion { |
||||
private String condition; |
||||
|
||||
private Object value; |
||||
|
||||
private Object secondValue; |
||||
|
||||
private boolean noValue; |
||||
|
||||
private boolean singleValue; |
||||
|
||||
private boolean betweenValue; |
||||
|
||||
private boolean listValue; |
||||
|
||||
private String typeHandler; |
||||
|
||||
public String getCondition() { |
||||
return condition; |
||||
} |
||||
|
||||
public Object getValue() { |
||||
return value; |
||||
} |
||||
|
||||
public Object getSecondValue() { |
||||
return secondValue; |
||||
} |
||||
|
||||
public boolean isNoValue() { |
||||
return noValue; |
||||
} |
||||
|
||||
public boolean isSingleValue() { |
||||
return singleValue; |
||||
} |
||||
|
||||
public boolean isBetweenValue() { |
||||
return betweenValue; |
||||
} |
||||
|
||||
public boolean isListValue() { |
||||
return listValue; |
||||
} |
||||
|
||||
public String getTypeHandler() { |
||||
return typeHandler; |
||||
} |
||||
|
||||
protected Criterion(String condition) { |
||||
super(); |
||||
this.condition = condition; |
||||
this.typeHandler = null; |
||||
this.noValue = true; |
||||
} |
||||
|
||||
protected Criterion(String condition, Object value, String typeHandler) { |
||||
super(); |
||||
this.condition = condition; |
||||
this.value = value; |
||||
this.typeHandler = typeHandler; |
||||
if (value instanceof List<?>) { |
||||
this.listValue = true; |
||||
} else { |
||||
this.singleValue = true; |
||||
} |
||||
} |
||||
|
||||
protected Criterion(String condition, Object value) { |
||||
this(condition, value, null); |
||||
} |
||||
|
||||
protected Criterion(String condition, Object value, Object secondValue, String typeHandler) { |
||||
super(); |
||||
this.condition = condition; |
||||
this.value = value; |
||||
this.secondValue = secondValue; |
||||
this.typeHandler = typeHandler; |
||||
this.betweenValue = true; |
||||
} |
||||
|
||||
protected Criterion(String condition, Object value, Object secondValue) { |
||||
this(condition, value, secondValue, null); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,21 @@ |
||||
package com.hfkj.service.user; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* 用户贡献 |
||||
* @className: BsUserContributeService |
||||
* @author: HuRui |
||||
* @date: 2024/9/12 |
||||
**/ |
||||
public interface BsUserContributeService { |
||||
|
||||
/** |
||||
* 购买 |
||||
* @param rebate 返利金额 |
||||
* @param userId 用户id |
||||
*/ |
||||
void purchase(BigDecimal rebate, Long userId, Map<String,Object> otherParam) throws Exception; |
||||
|
||||
} |
@ -0,0 +1,37 @@ |
||||
package com.hfkj.service.user; |
||||
|
||||
import com.hfkj.entity.BsUser; |
||||
import com.hfkj.entity.BsUserParentRel; |
||||
import com.hfkj.sysenum.user.UserGradeEnum; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* @className: BsUserParentRelService |
||||
* @author: HuRui |
||||
* @date: 2024/9/11 |
||||
**/ |
||||
public interface BsUserParentRelService { |
||||
|
||||
/** |
||||
* 编辑数据 |
||||
* @param data |
||||
*/ |
||||
void editData(BsUserParentRel data); |
||||
|
||||
/** |
||||
* 查询详情 |
||||
* @param userId |
||||
* @return |
||||
*/ |
||||
BsUserParentRel getDetailByUserId(Long userId); |
||||
|
||||
/** |
||||
* 获取上级 |
||||
* @param grade 上级等级 |
||||
* @param userId 用户id |
||||
* @return |
||||
*/ |
||||
BsUserParentRel getParent(List<UserGradeEnum> grade, Long userId); |
||||
|
||||
} |
@ -0,0 +1,228 @@ |
||||
package com.hfkj.service.user.impl; |
||||
|
||||
import com.hfkj.common.exception.ErrorCode; |
||||
import com.hfkj.common.exception.ErrorHelp; |
||||
import com.hfkj.common.exception.SysCode; |
||||
import com.hfkj.entity.BsUser; |
||||
import com.hfkj.entity.BsUserParentRel; |
||||
import com.hfkj.service.sec.SecDictionaryService; |
||||
import com.hfkj.service.user.BsUserAccountService; |
||||
import com.hfkj.service.user.BsUserContributeService; |
||||
import com.hfkj.service.user.BsUserParentRelService; |
||||
import com.hfkj.service.user.BsUserService; |
||||
import com.hfkj.sysenum.user.UserAccountRecordSourceTypeEnum; |
||||
import com.hfkj.sysenum.user.UserGradeEnum; |
||||
import org.apache.commons.collections4.MapUtils; |
||||
import org.apache.commons.lang3.ArrayUtils; |
||||
import org.apache.poi.util.ArrayUtil; |
||||
import org.springframework.stereotype.Service; |
||||
import org.springframework.transaction.annotation.Propagation; |
||||
import org.springframework.transaction.annotation.Transactional; |
||||
|
||||
import javax.annotation.Resource; |
||||
import java.math.BigDecimal; |
||||
import java.util.Arrays; |
||||
import java.util.HashMap; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @className: BsUserContributeServiceImpl |
||||
* @author: HuRui |
||||
* @date: 2024/9/12 |
||||
**/ |
||||
@Service("userContributeService") |
||||
public class BsUserContributeServiceImpl implements BsUserContributeService { |
||||
|
||||
@Resource |
||||
private SecDictionaryService secDictionaryService; |
||||
@Resource |
||||
private BsUserAccountService userAccountService; |
||||
@Resource |
||||
private BsUserParentRelService userParentRelService; |
||||
@Resource |
||||
private BsUserService userService; |
||||
@Override |
||||
@Transactional(propagation= Propagation.REQUIRED,rollbackFor= {RuntimeException.class}) |
||||
public void purchase(BigDecimal rebateAmount, Long userId, Map<String,Object> otherParam) throws Exception { |
||||
// 购买人
|
||||
BsUser user = userService.getUser(userId); |
||||
if (user == null) { |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未知用户"); |
||||
} |
||||
// 等级自购奖励比例
|
||||
BigDecimal selfPurchaseReward = new BigDecimal(secDictionaryService.getDictionary("SELF_PURCHASE_REWARD", user.getGrade()+"").getCodeName()); |
||||
// 元宝汇率
|
||||
BigDecimal goldCoinExchangeRate = new BigDecimal(secDictionaryService.getDictionary("GOLD_COIN_EXCHANGE_RATE").get(0).getCodeValue()); |
||||
// 获得元宝数量 (返利金额 * 元宝汇率) * 等级自购奖励比例
|
||||
BigDecimal goldCoin = (rebateAmount.multiply(goldCoinExchangeRate)).multiply(selfPurchaseReward).setScale(6, BigDecimal.ROUND_HALF_DOWN); |
||||
|
||||
Map<String, Object> userRechargeParam = new HashMap<>(); |
||||
userRechargeParam.put("sourceId", MapUtils.getLong(otherParam, "sourceId")); |
||||
userRechargeParam.put("sourceOrderNo", MapUtils.getString(otherParam, "sourceOrderNo")); |
||||
userRechargeParam.put("sourceContent", UserGradeEnum.getDataByType(user.getGrade()).getName()+"自购商品奖励"); |
||||
// 用户账户进账
|
||||
userAccountService.recharge(userId,goldCoin, UserAccountRecordSourceTypeEnum.type1, userRechargeParam); |
||||
|
||||
// 查询用户上级
|
||||
BsUserParentRel parentRel = userParentRelService.getDetailByUserId(userId); |
||||
if (parentRel != null && parentRel.getParentUserId() != null) { |
||||
if (UserGradeEnum.grade4.getCode().equals(parentRel.getParentUserGrade())) { |
||||
// 渠道
|
||||
parentGrade4(UserGradeEnum.grade4, rebateAmount, parentRel, otherParam); |
||||
|
||||
} else if (UserGradeEnum.grade3.getCode().equals(parentRel.getParentUserGrade())) { |
||||
// 团长
|
||||
parentGrade4(UserGradeEnum.grade4, rebateAmount, parentRel, otherParam); |
||||
|
||||
} else if (UserGradeEnum.grade2.getCode().equals(parentRel.getParentUserGrade())) { |
||||
// 正式会员
|
||||
} else if (UserGradeEnum.grade1.getCode().equals(parentRel.getParentUserGrade())) { |
||||
// 见习会员
|
||||
} |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* 渠道 |
||||
*/ |
||||
public void parentGrade4(UserGradeEnum userGrade,BigDecimal rebateAmount,BsUserParentRel parentRel,Map<String,Object> otherParam) throws Exception { |
||||
// 元宝汇率
|
||||
BigDecimal goldCoinExchangeRate = new BigDecimal(secDictionaryService.getDictionary("GOLD_COIN_EXCHANGE_RATE").get(0).getCodeValue()); |
||||
|
||||
// 直属贡献比例
|
||||
BigDecimal directlyContributeRate = new BigDecimal("0"); |
||||
|
||||
if (UserGradeEnum.grade1.getCode().equals(userGrade.getCode()) || UserGradeEnum.grade2.getCode().equals(userGrade.getCode())) { |
||||
directlyContributeRate = new BigDecimal("100"); |
||||
} |
||||
// 直属贡献 = (返利金额 * 元宝汇率) * 直属贡献
|
||||
BigDecimal goldCoin = (rebateAmount.multiply(goldCoinExchangeRate)) |
||||
.multiply(directlyContributeRate.divide(new BigDecimal("100"))) |
||||
.setScale(6, BigDecimal.ROUND_HALF_DOWN); |
||||
|
||||
Map<String, Object> parentUserParam = new HashMap<>(); |
||||
parentUserParam.put("sourceId", MapUtils.getString(otherParam, "sourceId")); |
||||
parentUserParam.put("sourceOrderNo", MapUtils.getString(otherParam, "sourceOrderNo")); |
||||
parentUserParam.put("sourceContent", "直属会员贡献"); |
||||
// 上级账户
|
||||
userAccountService.recharge(parentRel.getParentUserId(), goldCoin, UserAccountRecordSourceTypeEnum.type1, parentUserParam); |
||||
|
||||
|
||||
// 直属贡献比例 9%
|
||||
directlyContributeRate = new BigDecimal("9"); |
||||
// 直属贡献 = (返利金额 * 元宝汇率) * 直属贡献
|
||||
goldCoin = (rebateAmount.multiply(goldCoinExchangeRate)) |
||||
.multiply(directlyContributeRate.divide(new BigDecimal("100"))) |
||||
.setScale(6, BigDecimal.ROUND_HALF_DOWN); |
||||
// 渠道贡献
|
||||
parentUserParam.clear(); |
||||
parentUserParam.put("sourceId", MapUtils.getString(otherParam, "sourceId")); |
||||
parentUserParam.put("sourceOrderNo", MapUtils.getString(otherParam, "sourceOrderNo")); |
||||
parentUserParam.put("sourceContent", "直属渠道团队贡献"); |
||||
// 渠道账户
|
||||
userAccountService.recharge(parentRel.getParentUserId(), goldCoin, UserAccountRecordSourceTypeEnum.type1, parentUserParam); |
||||
} |
||||
|
||||
/** |
||||
* 团长 |
||||
*/ |
||||
public void parentGrade3(UserGradeEnum userGrade,BigDecimal rebateAmount,BsUserParentRel parentRel,Map<String,Object> otherParam) throws Exception { |
||||
// 元宝汇率
|
||||
BigDecimal goldCoinExchangeRate = new BigDecimal(secDictionaryService.getDictionary("GOLD_COIN_EXCHANGE_RATE").get(0).getCodeValue()); |
||||
// 直属贡献比例
|
||||
BigDecimal directlyContributeRate = new BigDecimal("0"); |
||||
|
||||
if (UserGradeEnum.grade1.getCode().equals(userGrade.getCode()) || UserGradeEnum.grade2.getCode().equals(userGrade.getCode())) { |
||||
directlyContributeRate = new BigDecimal("66.6"); |
||||
} |
||||
// 直属贡献 = (返利金额 * 元宝汇率) * 直属贡献
|
||||
BigDecimal goldCoin = (rebateAmount.multiply(goldCoinExchangeRate)) |
||||
.multiply(directlyContributeRate.divide(new BigDecimal("100"))) |
||||
.setScale(6, BigDecimal.ROUND_HALF_DOWN); |
||||
Map<String,Object> parentUserParam = new HashMap<>(); |
||||
parentUserParam.put("sourceId", MapUtils.getString(otherParam, "sourceId")); |
||||
parentUserParam.put("sourceOrderNo", MapUtils.getString(otherParam, "sourceOrderNo")); |
||||
parentUserParam.put("sourceContent", "直属会员贡献"); |
||||
// 上级账户
|
||||
userAccountService.recharge(parentRel.getParentUserId(), goldCoin, UserAccountRecordSourceTypeEnum.type1, parentUserParam); |
||||
|
||||
// 递归判断找到团长或渠道
|
||||
BsUserParentRel userParentRel = userParentRelService.getParent( |
||||
Arrays.asList(UserGradeEnum.grade4, UserGradeEnum.grade3), |
||||
parentRel.getParentUserId() |
||||
); |
||||
|
||||
if (userParentRel != null) { |
||||
if (UserGradeEnum.grade3.getCode().equals(userParentRel.getParentUserGrade())) { |
||||
// 贡献比例 10%
|
||||
directlyContributeRate = new BigDecimal("10"); |
||||
// 贡献 = (返利金额 * 元宝汇率) * 直属贡献
|
||||
goldCoin = (rebateAmount.multiply(goldCoinExchangeRate)) |
||||
.multiply(directlyContributeRate.divide(new BigDecimal("100"))) |
||||
.setScale(6, BigDecimal.ROUND_HALF_DOWN); |
||||
// 渠道贡献
|
||||
otherParam.clear(); |
||||
otherParam.put("sourceId", ""); |
||||
otherParam.put("sourceOrderNo", ""); |
||||
otherParam.put("sourceContent", "直属团长贡献"); |
||||
// 团长账户
|
||||
userAccountService.recharge(userParentRel.getUserId(), goldCoin, UserAccountRecordSourceTypeEnum.type1, otherParam); |
||||
|
||||
// 递归判断找到渠道
|
||||
userParentRel = userParentRelService.getParent(Arrays.asList(UserGradeEnum.grade4), parentRel.getParentUserId()); |
||||
if (userParentRel != null) { |
||||
// 贡献比例 13%
|
||||
directlyContributeRate = new BigDecimal("13"); |
||||
// 贡献 = (返利金额 * 元宝汇率) * 直属贡献
|
||||
goldCoin = (rebateAmount.multiply(goldCoinExchangeRate)) |
||||
.multiply(directlyContributeRate.divide(new BigDecimal("100"))) |
||||
.setScale(6, BigDecimal.ROUND_HALF_DOWN); |
||||
// 渠道贡献
|
||||
otherParam.clear(); |
||||
otherParam.put("sourceId", ""); |
||||
otherParam.put("sourceOrderNo", ""); |
||||
otherParam.put("sourceContent", "非直属团长团队贡献"); |
||||
// 团长账户
|
||||
userAccountService.recharge(userParentRel.getUserId(), goldCoin, UserAccountRecordSourceTypeEnum.type1, otherParam); |
||||
} |
||||
|
||||
} else if (UserGradeEnum.grade4.getCode().equals(userParentRel.getParentUserGrade())) { |
||||
// 递归找到团长
|
||||
BsUserParentRel teamLeader = userParentRelService.getParent(Arrays.asList(UserGradeEnum.grade3), parentRel.getParentUserId()); |
||||
if (teamLeader != null) { |
||||
// 贡献比例 2 3%
|
||||
directlyContributeRate = new BigDecimal("23"); |
||||
// 贡献 = (返利金额 * 元宝汇率) * 直属贡献
|
||||
goldCoin = (rebateAmount.multiply(goldCoinExchangeRate)) |
||||
.multiply(directlyContributeRate.divide(new BigDecimal("100"))) |
||||
.setScale(6, BigDecimal.ROUND_HALF_DOWN); |
||||
// 贡献
|
||||
otherParam.clear(); |
||||
otherParam.put("sourceId", ""); |
||||
otherParam.put("sourceOrderNo", ""); |
||||
otherParam.put("sourceContent", "直属团长团队贡献"); |
||||
// 团长账户
|
||||
userAccountService.recharge(teamLeader.getUserId(), goldCoin, UserAccountRecordSourceTypeEnum.type1, otherParam); |
||||
|
||||
|
||||
// 贡献比例 9%
|
||||
directlyContributeRate = new BigDecimal("9"); |
||||
// 贡献 = (返利金额 * 元宝汇率) * 直属贡献
|
||||
goldCoin = (rebateAmount.multiply(goldCoinExchangeRate)) |
||||
.multiply(directlyContributeRate.divide(new BigDecimal("100"))) |
||||
.setScale(6, BigDecimal.ROUND_HALF_DOWN); |
||||
// 贡献
|
||||
otherParam.clear(); |
||||
otherParam.put("sourceId", ""); |
||||
otherParam.put("sourceOrderNo", ""); |
||||
otherParam.put("sourceContent", "直属渠道团队贡献"); |
||||
// 渠道账户
|
||||
userAccountService.recharge(userParentRel.getUserId(), goldCoin, UserAccountRecordSourceTypeEnum.type1, otherParam); |
||||
} |
||||
} |
||||
|
||||
} |
||||
} |
||||
|
||||
} |
@ -0,0 +1,81 @@ |
||||
package com.hfkj.service.user.impl; |
||||
|
||||
import com.hfkj.dao.BsUserParentRelMapper; |
||||
import com.hfkj.entity.BsUserParentRel; |
||||
import com.hfkj.entity.BsUserParentRelExample; |
||||
import com.hfkj.service.user.BsUserParentRelService; |
||||
import com.hfkj.sysenum.user.UserGradeEnum; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import javax.annotation.Resource; |
||||
import java.util.*; |
||||
import java.util.stream.Collectors; |
||||
|
||||
/** |
||||
* @className: BsUserParentRelServiceImpl |
||||
* @author: HuRui |
||||
* @date: 2024/9/11 |
||||
**/ |
||||
@Service("") |
||||
public class BsUserParentRelServiceImpl implements BsUserParentRelService { |
||||
@Resource |
||||
private BsUserParentRelMapper userParentRelMapper; |
||||
|
||||
@Override |
||||
public void editData(BsUserParentRel data) { |
||||
data.setUpdateTime(new Date()); |
||||
if (data.getId() == null) { |
||||
data.setStatus(1); |
||||
data.setCreateTime(new Date()); |
||||
userParentRelMapper.insert(data); |
||||
} else { |
||||
userParentRelMapper.updateByPrimaryKey(data); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public BsUserParentRel getDetailByUserId(Long userId) { |
||||
BsUserParentRelExample example = new BsUserParentRelExample(); |
||||
example.createCriteria().andUserIdEqualTo(userId).andStatusNotEqualTo(0); |
||||
List<BsUserParentRel> list = userParentRelMapper.selectByExample(example); |
||||
if (!list.isEmpty()) { |
||||
return list.get(0); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public BsUserParentRel getParent(List<UserGradeEnum> grade, Long userId) { |
||||
BsUserParentRel userParentRel = getDetailByUserId(userId); |
||||
if (userParentRel == null) { |
||||
return null; |
||||
} |
||||
if (!grade.stream().filter(o -> o.getCode().equals(userParentRel.getParentUserGrade())).collect(Collectors.toList()).isEmpty()) { |
||||
return userParentRel; |
||||
} |
||||
return recursionParent(grade, userParentRel.getParentUserId(), new ArrayList<>(Arrays.asList(userParentRel))); |
||||
} |
||||
|
||||
/** |
||||
* 递归获取上级 |
||||
* @param grade 等级列表,匹配其中一个等级就返回数据 |
||||
* @param parentUserId 上级用户id |
||||
* @param recursionDataList 递归的过数据列表 |
||||
* @return |
||||
*/ |
||||
public BsUserParentRel recursionParent(List<UserGradeEnum> grade, Long parentUserId, List<BsUserParentRel> recursionDataList) { |
||||
BsUserParentRel userParentRel = getDetailByUserId(parentUserId); |
||||
if (userParentRel == null) { |
||||
return null; |
||||
} |
||||
// 检查是否递归过,避免关系闭环 出现死循环
|
||||
if (!recursionDataList.stream().filter(o -> o.getId().equals(userParentRel.getId())).collect(Collectors.toList()).isEmpty()) { |
||||
return null; |
||||
} |
||||
recursionDataList.add(userParentRel); |
||||
if (!grade.stream().filter(o -> o.getCode().equals(userParentRel.getParentUserGrade())).collect(Collectors.toList()).isEmpty()) { |
||||
return userParentRel; |
||||
} |
||||
return recursionParent(grade, userParentRel.getParentUserId(), recursionDataList); |
||||
} |
||||
} |
Loading…
Reference in new issue