parent
103c7af9b7
commit
b66846f011
@ -0,0 +1,113 @@ |
||||
package com.hfkj.dao; |
||||
|
||||
import com.hfkj.entity.BsUserAccount; |
||||
import com.hfkj.entity.BsUserAccountExample; |
||||
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 BsUserAccountMapper extends BsUserAccountMapperExt { |
||||
@SelectProvider(type=BsUserAccountSqlProvider.class, method="countByExample") |
||||
long countByExample(BsUserAccountExample example); |
||||
|
||||
@DeleteProvider(type=BsUserAccountSqlProvider.class, method="deleteByExample") |
||||
int deleteByExample(BsUserAccountExample example); |
||||
|
||||
@Delete({ |
||||
"delete from bs_user_account", |
||||
"where id = #{id,jdbcType=BIGINT}" |
||||
}) |
||||
int deleteByPrimaryKey(Long id); |
||||
|
||||
@Insert({ |
||||
"insert into bs_user_account (user_id, gold_coin, ", |
||||
"`status`, create_time, ", |
||||
"update_time, ext_1, ", |
||||
"ext_2, ext_3)", |
||||
"values (#{userId,jdbcType=BIGINT}, #{goldCoin,jdbcType=DECIMAL}, ", |
||||
"#{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(BsUserAccount record); |
||||
|
||||
@InsertProvider(type=BsUserAccountSqlProvider.class, method="insertSelective") |
||||
@Options(useGeneratedKeys=true,keyProperty="id") |
||||
int insertSelective(BsUserAccount record); |
||||
|
||||
@SelectProvider(type=BsUserAccountSqlProvider.class, method="selectByExample") |
||||
@Results({ |
||||
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), |
||||
@Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="gold_coin", property="goldCoin", jdbcType=JdbcType.DECIMAL), |
||||
@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<BsUserAccount> selectByExample(BsUserAccountExample example); |
||||
|
||||
@Select({ |
||||
"select", |
||||
"id, user_id, gold_coin, `status`, create_time, update_time, ext_1, ext_2, ext_3", |
||||
"from bs_user_account", |
||||
"where id = #{id,jdbcType=BIGINT}" |
||||
}) |
||||
@Results({ |
||||
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), |
||||
@Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="gold_coin", property="goldCoin", jdbcType=JdbcType.DECIMAL), |
||||
@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) |
||||
}) |
||||
BsUserAccount selectByPrimaryKey(Long id); |
||||
|
||||
@UpdateProvider(type=BsUserAccountSqlProvider.class, method="updateByExampleSelective") |
||||
int updateByExampleSelective(@Param("record") BsUserAccount record, @Param("example") BsUserAccountExample example); |
||||
|
||||
@UpdateProvider(type=BsUserAccountSqlProvider.class, method="updateByExample") |
||||
int updateByExample(@Param("record") BsUserAccount record, @Param("example") BsUserAccountExample example); |
||||
|
||||
@UpdateProvider(type=BsUserAccountSqlProvider.class, method="updateByPrimaryKeySelective") |
||||
int updateByPrimaryKeySelective(BsUserAccount record); |
||||
|
||||
@Update({ |
||||
"update bs_user_account", |
||||
"set user_id = #{userId,jdbcType=BIGINT},", |
||||
"gold_coin = #{goldCoin,jdbcType=DECIMAL},", |
||||
"`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(BsUserAccount record); |
||||
} |
@ -0,0 +1,7 @@ |
||||
package com.hfkj.dao; |
||||
|
||||
/** |
||||
* mapper扩展类 |
||||
*/ |
||||
public interface BsUserAccountMapperExt { |
||||
} |
@ -0,0 +1,142 @@ |
||||
package com.hfkj.dao; |
||||
|
||||
import com.hfkj.entity.BsUserAccountRecord; |
||||
import com.hfkj.entity.BsUserAccountRecordExample; |
||||
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 BsUserAccountRecordMapper extends BsUserAccountRecordMapperExt { |
||||
@SelectProvider(type=BsUserAccountRecordSqlProvider.class, method="countByExample") |
||||
long countByExample(BsUserAccountRecordExample example); |
||||
|
||||
@DeleteProvider(type=BsUserAccountRecordSqlProvider.class, method="deleteByExample") |
||||
int deleteByExample(BsUserAccountRecordExample example); |
||||
|
||||
@Delete({ |
||||
"delete from bs_user_account_record", |
||||
"where id = #{id,jdbcType=BIGINT}" |
||||
}) |
||||
int deleteByPrimaryKey(Long id); |
||||
|
||||
@Insert({ |
||||
"insert into bs_user_account_record (user_id, user_account_id, ", |
||||
"`type`, transaction_amount, ", |
||||
"before_amount, after_amount, ", |
||||
"source_type, source_id, ", |
||||
"source_order_no, source_content, ", |
||||
"`status`, create_time, ", |
||||
"ext_1, ext_2, ext_3)", |
||||
"values (#{userId,jdbcType=BIGINT}, #{userAccountId,jdbcType=BIGINT}, ", |
||||
"#{type,jdbcType=INTEGER}, #{transactionAmount,jdbcType=DECIMAL}, ", |
||||
"#{beforeAmount,jdbcType=DECIMAL}, #{afterAmount,jdbcType=DECIMAL}, ", |
||||
"#{sourceType,jdbcType=INTEGER}, #{sourceId,jdbcType=BIGINT}, ", |
||||
"#{sourceOrderNo,jdbcType=VARCHAR}, #{sourceContent,jdbcType=VARCHAR}, ", |
||||
"#{status,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, ", |
||||
"#{ext1,jdbcType=VARCHAR}, #{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" |
||||
}) |
||||
@Options(useGeneratedKeys=true,keyProperty="id") |
||||
int insert(BsUserAccountRecord record); |
||||
|
||||
@InsertProvider(type=BsUserAccountRecordSqlProvider.class, method="insertSelective") |
||||
@Options(useGeneratedKeys=true,keyProperty="id") |
||||
int insertSelective(BsUserAccountRecord record); |
||||
|
||||
@SelectProvider(type=BsUserAccountRecordSqlProvider.class, method="selectByExample") |
||||
@Results({ |
||||
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), |
||||
@Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="user_account_id", property="userAccountId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="type", property="type", jdbcType=JdbcType.INTEGER), |
||||
@Result(column="transaction_amount", property="transactionAmount", jdbcType=JdbcType.DECIMAL), |
||||
@Result(column="before_amount", property="beforeAmount", jdbcType=JdbcType.DECIMAL), |
||||
@Result(column="after_amount", property="afterAmount", jdbcType=JdbcType.DECIMAL), |
||||
@Result(column="source_type", property="sourceType", jdbcType=JdbcType.INTEGER), |
||||
@Result(column="source_id", property="sourceId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="source_order_no", property="sourceOrderNo", jdbcType=JdbcType.VARCHAR), |
||||
@Result(column="source_content", property="sourceContent", jdbcType=JdbcType.VARCHAR), |
||||
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), |
||||
@Result(column="create_time", property="createTime", 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<BsUserAccountRecord> selectByExample(BsUserAccountRecordExample example); |
||||
|
||||
@Select({ |
||||
"select", |
||||
"id, user_id, user_account_id, `type`, transaction_amount, before_amount, after_amount, ", |
||||
"source_type, source_id, source_order_no, source_content, `status`, create_time, ", |
||||
"ext_1, ext_2, ext_3", |
||||
"from bs_user_account_record", |
||||
"where id = #{id,jdbcType=BIGINT}" |
||||
}) |
||||
@Results({ |
||||
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), |
||||
@Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="user_account_id", property="userAccountId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="type", property="type", jdbcType=JdbcType.INTEGER), |
||||
@Result(column="transaction_amount", property="transactionAmount", jdbcType=JdbcType.DECIMAL), |
||||
@Result(column="before_amount", property="beforeAmount", jdbcType=JdbcType.DECIMAL), |
||||
@Result(column="after_amount", property="afterAmount", jdbcType=JdbcType.DECIMAL), |
||||
@Result(column="source_type", property="sourceType", jdbcType=JdbcType.INTEGER), |
||||
@Result(column="source_id", property="sourceId", jdbcType=JdbcType.BIGINT), |
||||
@Result(column="source_order_no", property="sourceOrderNo", jdbcType=JdbcType.VARCHAR), |
||||
@Result(column="source_content", property="sourceContent", jdbcType=JdbcType.VARCHAR), |
||||
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), |
||||
@Result(column="create_time", property="createTime", 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) |
||||
}) |
||||
BsUserAccountRecord selectByPrimaryKey(Long id); |
||||
|
||||
@UpdateProvider(type=BsUserAccountRecordSqlProvider.class, method="updateByExampleSelective") |
||||
int updateByExampleSelective(@Param("record") BsUserAccountRecord record, @Param("example") BsUserAccountRecordExample example); |
||||
|
||||
@UpdateProvider(type=BsUserAccountRecordSqlProvider.class, method="updateByExample") |
||||
int updateByExample(@Param("record") BsUserAccountRecord record, @Param("example") BsUserAccountRecordExample example); |
||||
|
||||
@UpdateProvider(type=BsUserAccountRecordSqlProvider.class, method="updateByPrimaryKeySelective") |
||||
int updateByPrimaryKeySelective(BsUserAccountRecord record); |
||||
|
||||
@Update({ |
||||
"update bs_user_account_record", |
||||
"set user_id = #{userId,jdbcType=BIGINT},", |
||||
"user_account_id = #{userAccountId,jdbcType=BIGINT},", |
||||
"`type` = #{type,jdbcType=INTEGER},", |
||||
"transaction_amount = #{transactionAmount,jdbcType=DECIMAL},", |
||||
"before_amount = #{beforeAmount,jdbcType=DECIMAL},", |
||||
"after_amount = #{afterAmount,jdbcType=DECIMAL},", |
||||
"source_type = #{sourceType,jdbcType=INTEGER},", |
||||
"source_id = #{sourceId,jdbcType=BIGINT},", |
||||
"source_order_no = #{sourceOrderNo,jdbcType=VARCHAR},", |
||||
"source_content = #{sourceContent,jdbcType=VARCHAR},", |
||||
"`status` = #{status,jdbcType=INTEGER},", |
||||
"create_time = #{createTime,jdbcType=TIMESTAMP},", |
||||
"ext_1 = #{ext1,jdbcType=VARCHAR},", |
||||
"ext_2 = #{ext2,jdbcType=VARCHAR},", |
||||
"ext_3 = #{ext3,jdbcType=VARCHAR}", |
||||
"where id = #{id,jdbcType=BIGINT}" |
||||
}) |
||||
int updateByPrimaryKey(BsUserAccountRecord record); |
||||
} |
@ -0,0 +1,7 @@ |
||||
package com.hfkj.dao; |
||||
|
||||
/** |
||||
* mapper扩展类 |
||||
*/ |
||||
public interface BsUserAccountRecordMapperExt { |
||||
} |
@ -0,0 +1,388 @@ |
||||
package com.hfkj.dao; |
||||
|
||||
import com.hfkj.entity.BsUserAccountRecord; |
||||
import com.hfkj.entity.BsUserAccountRecordExample.Criteria; |
||||
import com.hfkj.entity.BsUserAccountRecordExample.Criterion; |
||||
import com.hfkj.entity.BsUserAccountRecordExample; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
import org.apache.ibatis.jdbc.SQL; |
||||
|
||||
public class BsUserAccountRecordSqlProvider { |
||||
|
||||
public String countByExample(BsUserAccountRecordExample example) { |
||||
SQL sql = new SQL(); |
||||
sql.SELECT("count(*)").FROM("bs_user_account_record"); |
||||
applyWhere(sql, example, false); |
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String deleteByExample(BsUserAccountRecordExample example) { |
||||
SQL sql = new SQL(); |
||||
sql.DELETE_FROM("bs_user_account_record"); |
||||
applyWhere(sql, example, false); |
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String insertSelective(BsUserAccountRecord record) { |
||||
SQL sql = new SQL(); |
||||
sql.INSERT_INTO("bs_user_account_record"); |
||||
|
||||
if (record.getUserId() != null) { |
||||
sql.VALUES("user_id", "#{userId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getUserAccountId() != null) { |
||||
sql.VALUES("user_account_id", "#{userAccountId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getType() != null) { |
||||
sql.VALUES("`type`", "#{type,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getTransactionAmount() != null) { |
||||
sql.VALUES("transaction_amount", "#{transactionAmount,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
if (record.getBeforeAmount() != null) { |
||||
sql.VALUES("before_amount", "#{beforeAmount,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
if (record.getAfterAmount() != null) { |
||||
sql.VALUES("after_amount", "#{afterAmount,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
if (record.getSourceType() != null) { |
||||
sql.VALUES("source_type", "#{sourceType,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getSourceId() != null) { |
||||
sql.VALUES("source_id", "#{sourceId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getSourceOrderNo() != null) { |
||||
sql.VALUES("source_order_no", "#{sourceOrderNo,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getSourceContent() != null) { |
||||
sql.VALUES("source_content", "#{sourceContent,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getStatus() != null) { |
||||
sql.VALUES("`status`", "#{status,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getCreateTime() != null) { |
||||
sql.VALUES("create_time", "#{createTime,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(BsUserAccountRecordExample example) { |
||||
SQL sql = new SQL(); |
||||
if (example != null && example.isDistinct()) { |
||||
sql.SELECT_DISTINCT("id"); |
||||
} else { |
||||
sql.SELECT("id"); |
||||
} |
||||
sql.SELECT("user_id"); |
||||
sql.SELECT("user_account_id"); |
||||
sql.SELECT("`type`"); |
||||
sql.SELECT("transaction_amount"); |
||||
sql.SELECT("before_amount"); |
||||
sql.SELECT("after_amount"); |
||||
sql.SELECT("source_type"); |
||||
sql.SELECT("source_id"); |
||||
sql.SELECT("source_order_no"); |
||||
sql.SELECT("source_content"); |
||||
sql.SELECT("`status`"); |
||||
sql.SELECT("create_time"); |
||||
sql.SELECT("ext_1"); |
||||
sql.SELECT("ext_2"); |
||||
sql.SELECT("ext_3"); |
||||
sql.FROM("bs_user_account_record"); |
||||
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) { |
||||
BsUserAccountRecord record = (BsUserAccountRecord) parameter.get("record"); |
||||
BsUserAccountRecordExample example = (BsUserAccountRecordExample) parameter.get("example"); |
||||
|
||||
SQL sql = new SQL(); |
||||
sql.UPDATE("bs_user_account_record"); |
||||
|
||||
if (record.getId() != null) { |
||||
sql.SET("id = #{record.id,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getUserId() != null) { |
||||
sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getUserAccountId() != null) { |
||||
sql.SET("user_account_id = #{record.userAccountId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getType() != null) { |
||||
sql.SET("`type` = #{record.type,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getTransactionAmount() != null) { |
||||
sql.SET("transaction_amount = #{record.transactionAmount,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
if (record.getBeforeAmount() != null) { |
||||
sql.SET("before_amount = #{record.beforeAmount,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
if (record.getAfterAmount() != null) { |
||||
sql.SET("after_amount = #{record.afterAmount,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
if (record.getSourceType() != null) { |
||||
sql.SET("source_type = #{record.sourceType,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getSourceId() != null) { |
||||
sql.SET("source_id = #{record.sourceId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getSourceOrderNo() != null) { |
||||
sql.SET("source_order_no = #{record.sourceOrderNo,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getSourceContent() != null) { |
||||
sql.SET("source_content = #{record.sourceContent,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
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.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_account_record"); |
||||
|
||||
sql.SET("id = #{record.id,jdbcType=BIGINT}"); |
||||
sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); |
||||
sql.SET("user_account_id = #{record.userAccountId,jdbcType=BIGINT}"); |
||||
sql.SET("`type` = #{record.type,jdbcType=INTEGER}"); |
||||
sql.SET("transaction_amount = #{record.transactionAmount,jdbcType=DECIMAL}"); |
||||
sql.SET("before_amount = #{record.beforeAmount,jdbcType=DECIMAL}"); |
||||
sql.SET("after_amount = #{record.afterAmount,jdbcType=DECIMAL}"); |
||||
sql.SET("source_type = #{record.sourceType,jdbcType=INTEGER}"); |
||||
sql.SET("source_id = #{record.sourceId,jdbcType=BIGINT}"); |
||||
sql.SET("source_order_no = #{record.sourceOrderNo,jdbcType=VARCHAR}"); |
||||
sql.SET("source_content = #{record.sourceContent,jdbcType=VARCHAR}"); |
||||
sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); |
||||
sql.SET("create_time = #{record.createTime,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}"); |
||||
|
||||
BsUserAccountRecordExample example = (BsUserAccountRecordExample) parameter.get("example"); |
||||
applyWhere(sql, example, true); |
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String updateByPrimaryKeySelective(BsUserAccountRecord record) { |
||||
SQL sql = new SQL(); |
||||
sql.UPDATE("bs_user_account_record"); |
||||
|
||||
if (record.getUserId() != null) { |
||||
sql.SET("user_id = #{userId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getUserAccountId() != null) { |
||||
sql.SET("user_account_id = #{userAccountId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getType() != null) { |
||||
sql.SET("`type` = #{type,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getTransactionAmount() != null) { |
||||
sql.SET("transaction_amount = #{transactionAmount,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
if (record.getBeforeAmount() != null) { |
||||
sql.SET("before_amount = #{beforeAmount,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
if (record.getAfterAmount() != null) { |
||||
sql.SET("after_amount = #{afterAmount,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
if (record.getSourceType() != null) { |
||||
sql.SET("source_type = #{sourceType,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getSourceId() != null) { |
||||
sql.SET("source_id = #{sourceId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getSourceOrderNo() != null) { |
||||
sql.SET("source_order_no = #{sourceOrderNo,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getSourceContent() != null) { |
||||
sql.SET("source_content = #{sourceContent,jdbcType=VARCHAR}"); |
||||
} |
||||
|
||||
if (record.getStatus() != null) { |
||||
sql.SET("`status` = #{status,jdbcType=INTEGER}"); |
||||
} |
||||
|
||||
if (record.getCreateTime() != null) { |
||||
sql.SET("create_time = #{createTime,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, BsUserAccountRecordExample 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,290 @@ |
||||
package com.hfkj.dao; |
||||
|
||||
import com.hfkj.entity.BsUserAccount; |
||||
import com.hfkj.entity.BsUserAccountExample.Criteria; |
||||
import com.hfkj.entity.BsUserAccountExample.Criterion; |
||||
import com.hfkj.entity.BsUserAccountExample; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
import org.apache.ibatis.jdbc.SQL; |
||||
|
||||
public class BsUserAccountSqlProvider { |
||||
|
||||
public String countByExample(BsUserAccountExample example) { |
||||
SQL sql = new SQL(); |
||||
sql.SELECT("count(*)").FROM("bs_user_account"); |
||||
applyWhere(sql, example, false); |
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String deleteByExample(BsUserAccountExample example) { |
||||
SQL sql = new SQL(); |
||||
sql.DELETE_FROM("bs_user_account"); |
||||
applyWhere(sql, example, false); |
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String insertSelective(BsUserAccount record) { |
||||
SQL sql = new SQL(); |
||||
sql.INSERT_INTO("bs_user_account"); |
||||
|
||||
if (record.getUserId() != null) { |
||||
sql.VALUES("user_id", "#{userId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getGoldCoin() != null) { |
||||
sql.VALUES("gold_coin", "#{goldCoin,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
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(BsUserAccountExample example) { |
||||
SQL sql = new SQL(); |
||||
if (example != null && example.isDistinct()) { |
||||
sql.SELECT_DISTINCT("id"); |
||||
} else { |
||||
sql.SELECT("id"); |
||||
} |
||||
sql.SELECT("user_id"); |
||||
sql.SELECT("gold_coin"); |
||||
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_account"); |
||||
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) { |
||||
BsUserAccount record = (BsUserAccount) parameter.get("record"); |
||||
BsUserAccountExample example = (BsUserAccountExample) parameter.get("example"); |
||||
|
||||
SQL sql = new SQL(); |
||||
sql.UPDATE("bs_user_account"); |
||||
|
||||
if (record.getId() != null) { |
||||
sql.SET("id = #{record.id,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getUserId() != null) { |
||||
sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getGoldCoin() != null) { |
||||
sql.SET("gold_coin = #{record.goldCoin,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
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_account"); |
||||
|
||||
sql.SET("id = #{record.id,jdbcType=BIGINT}"); |
||||
sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); |
||||
sql.SET("gold_coin = #{record.goldCoin,jdbcType=DECIMAL}"); |
||||
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}"); |
||||
|
||||
BsUserAccountExample example = (BsUserAccountExample) parameter.get("example"); |
||||
applyWhere(sql, example, true); |
||||
return sql.toString(); |
||||
} |
||||
|
||||
public String updateByPrimaryKeySelective(BsUserAccount record) { |
||||
SQL sql = new SQL(); |
||||
sql.UPDATE("bs_user_account"); |
||||
|
||||
if (record.getUserId() != null) { |
||||
sql.SET("user_id = #{userId,jdbcType=BIGINT}"); |
||||
} |
||||
|
||||
if (record.getGoldCoin() != null) { |
||||
sql.SET("gold_coin = #{goldCoin,jdbcType=DECIMAL}"); |
||||
} |
||||
|
||||
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, BsUserAccountExample 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,182 @@ |
||||
package com.hfkj.entity; |
||||
|
||||
import java.io.Serializable; |
||||
import java.math.BigDecimal; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* bs_user_account |
||||
* @author |
||||
*/ |
||||
/** |
||||
* |
||||
* 代码由工具生成 |
||||
* |
||||
**/ |
||||
public class BsUserAccount implements Serializable { |
||||
private Long id; |
||||
|
||||
/** |
||||
* 用户id |
||||
*/ |
||||
private Long userId; |
||||
|
||||
/** |
||||
* 元宝余额 |
||||
*/ |
||||
private BigDecimal goldCoin; |
||||
|
||||
/** |
||||
* 状态 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 getUserId() { |
||||
return userId; |
||||
} |
||||
|
||||
public void setUserId(Long userId) { |
||||
this.userId = userId; |
||||
} |
||||
|
||||
public BigDecimal getGoldCoin() { |
||||
return goldCoin; |
||||
} |
||||
|
||||
public void setGoldCoin(BigDecimal goldCoin) { |
||||
this.goldCoin = goldCoin; |
||||
} |
||||
|
||||
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; |
||||
} |
||||
BsUserAccount other = (BsUserAccount) that; |
||||
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) |
||||
&& (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId())) |
||||
&& (this.getGoldCoin() == null ? other.getGoldCoin() == null : this.getGoldCoin().equals(other.getGoldCoin())) |
||||
&& (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 + ((getUserId() == null) ? 0 : getUserId().hashCode()); |
||||
result = prime * result + ((getGoldCoin() == null) ? 0 : getGoldCoin().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(", userId=").append(userId); |
||||
sb.append(", goldCoin=").append(goldCoin); |
||||
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,794 @@ |
||||
package com.hfkj.entity; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.util.ArrayList; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
|
||||
public class BsUserAccountExample { |
||||
protected String orderByClause; |
||||
|
||||
protected boolean distinct; |
||||
|
||||
protected List<Criteria> oredCriteria; |
||||
|
||||
private Integer limit; |
||||
|
||||
private Long offset; |
||||
|
||||
public BsUserAccountExample() { |
||||
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 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 andGoldCoinIsNull() { |
||||
addCriterion("gold_coin is null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinIsNotNull() { |
||||
addCriterion("gold_coin is not null"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinEqualTo(BigDecimal value) { |
||||
addCriterion("gold_coin =", value, "goldCoin"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinNotEqualTo(BigDecimal value) { |
||||
addCriterion("gold_coin <>", value, "goldCoin"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinGreaterThan(BigDecimal value) { |
||||
addCriterion("gold_coin >", value, "goldCoin"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinGreaterThanOrEqualTo(BigDecimal value) { |
||||
addCriterion("gold_coin >=", value, "goldCoin"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinLessThan(BigDecimal value) { |
||||
addCriterion("gold_coin <", value, "goldCoin"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinLessThanOrEqualTo(BigDecimal value) { |
||||
addCriterion("gold_coin <=", value, "goldCoin"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinIn(List<BigDecimal> values) { |
||||
addCriterion("gold_coin in", values, "goldCoin"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinNotIn(List<BigDecimal> values) { |
||||
addCriterion("gold_coin not in", values, "goldCoin"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinBetween(BigDecimal value1, BigDecimal value2) { |
||||
addCriterion("gold_coin between", value1, value2, "goldCoin"); |
||||
return (Criteria) this; |
||||
} |
||||
|
||||
public Criteria andGoldCoinNotBetween(BigDecimal value1, BigDecimal value2) { |
||||
addCriterion("gold_coin not between", value1, value2, "goldCoin"); |
||||
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,294 @@ |
||||
package com.hfkj.entity; |
||||
|
||||
import java.io.Serializable; |
||||
import java.math.BigDecimal; |
||||
import java.util.Date; |
||||
|
||||
/** |
||||
* bs_user_account_record |
||||
* @author |
||||
*/ |
||||
/** |
||||
* |
||||
* 代码由工具生成 |
||||
* |
||||
**/ |
||||
public class BsUserAccountRecord implements Serializable { |
||||
private Long id; |
||||
|
||||
/** |
||||
* 用户id |
||||
*/ |
||||
private Long userId; |
||||
|
||||
/** |
||||
* 用户账户id |
||||
*/ |
||||
private Long userAccountId; |
||||
|
||||
/** |
||||
* 类型 1:进账 2:出账 |
||||
*/ |
||||
private Integer type; |
||||
|
||||
/** |
||||
* 交易金额 |
||||
*/ |
||||
private BigDecimal transactionAmount; |
||||
|
||||
/** |
||||
* 变更前金额 |
||||
*/ |
||||
private BigDecimal beforeAmount; |
||||
|
||||
/** |
||||
* 变更后金额 |
||||
*/ |
||||
private BigDecimal afterAmount; |
||||
|
||||
/** |
||||
* 来源类型 |
||||
*/ |
||||
private Integer sourceType; |
||||
|
||||
/** |
||||
* 来源id |
||||
*/ |
||||
private Long sourceId; |
||||
|
||||
/** |
||||
* 来源订单号 |
||||
*/ |
||||
private String sourceOrderNo; |
||||
|
||||
/** |
||||
* 来源内容 / 标题 |
||||
*/ |
||||
private String sourceContent; |
||||
|
||||
/** |
||||
* 状态 0:删除 1:正常 |
||||
*/ |
||||
private Integer status; |
||||
|
||||
/** |
||||
* 创建时间 |
||||
*/ |
||||
private Date createTime; |
||||
|
||||
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 getUserId() { |
||||
return userId; |
||||
} |
||||
|
||||
public void setUserId(Long userId) { |
||||
this.userId = userId; |
||||
} |
||||
|
||||
public Long getUserAccountId() { |
||||
return userAccountId; |
||||
} |
||||
|
||||
public void setUserAccountId(Long userAccountId) { |
||||
this.userAccountId = userAccountId; |
||||
} |
||||
|
||||
public Integer getType() { |
||||
return type; |
||||
} |
||||
|
||||
public void setType(Integer type) { |
||||
this.type = type; |
||||
} |
||||
|
||||
public BigDecimal getTransactionAmount() { |
||||
return transactionAmount; |
||||
} |
||||
|
||||
public void setTransactionAmount(BigDecimal transactionAmount) { |
||||
this.transactionAmount = transactionAmount; |
||||
} |
||||
|
||||
public BigDecimal getBeforeAmount() { |
||||
return beforeAmount; |
||||
} |
||||
|
||||
public void setBeforeAmount(BigDecimal beforeAmount) { |
||||
this.beforeAmount = beforeAmount; |
||||
} |
||||
|
||||
public BigDecimal getAfterAmount() { |
||||
return afterAmount; |
||||
} |
||||
|
||||
public void setAfterAmount(BigDecimal afterAmount) { |
||||
this.afterAmount = afterAmount; |
||||
} |
||||
|
||||
public Integer getSourceType() { |
||||
return sourceType; |
||||
} |
||||
|
||||
public void setSourceType(Integer sourceType) { |
||||
this.sourceType = sourceType; |
||||
} |
||||
|
||||
public Long getSourceId() { |
||||
return sourceId; |
||||
} |
||||
|
||||
public void setSourceId(Long sourceId) { |
||||
this.sourceId = sourceId; |
||||
} |
||||
|
||||
public String getSourceOrderNo() { |
||||
return sourceOrderNo; |
||||
} |
||||
|
||||
public void setSourceOrderNo(String sourceOrderNo) { |
||||
this.sourceOrderNo = sourceOrderNo; |
||||
} |
||||
|
||||
public String getSourceContent() { |
||||
return sourceContent; |
||||
} |
||||
|
||||
public void setSourceContent(String sourceContent) { |
||||
this.sourceContent = sourceContent; |
||||
} |
||||
|
||||
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 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; |
||||
} |
||||
BsUserAccountRecord other = (BsUserAccountRecord) that; |
||||
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) |
||||
&& (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId())) |
||||
&& (this.getUserAccountId() == null ? other.getUserAccountId() == null : this.getUserAccountId().equals(other.getUserAccountId())) |
||||
&& (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType())) |
||||
&& (this.getTransactionAmount() == null ? other.getTransactionAmount() == null : this.getTransactionAmount().equals(other.getTransactionAmount())) |
||||
&& (this.getBeforeAmount() == null ? other.getBeforeAmount() == null : this.getBeforeAmount().equals(other.getBeforeAmount())) |
||||
&& (this.getAfterAmount() == null ? other.getAfterAmount() == null : this.getAfterAmount().equals(other.getAfterAmount())) |
||||
&& (this.getSourceType() == null ? other.getSourceType() == null : this.getSourceType().equals(other.getSourceType())) |
||||
&& (this.getSourceId() == null ? other.getSourceId() == null : this.getSourceId().equals(other.getSourceId())) |
||||
&& (this.getSourceOrderNo() == null ? other.getSourceOrderNo() == null : this.getSourceOrderNo().equals(other.getSourceOrderNo())) |
||||
&& (this.getSourceContent() == null ? other.getSourceContent() == null : this.getSourceContent().equals(other.getSourceContent())) |
||||
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus())) |
||||
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime())) |
||||
&& (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 + ((getUserId() == null) ? 0 : getUserId().hashCode()); |
||||
result = prime * result + ((getUserAccountId() == null) ? 0 : getUserAccountId().hashCode()); |
||||
result = prime * result + ((getType() == null) ? 0 : getType().hashCode()); |
||||
result = prime * result + ((getTransactionAmount() == null) ? 0 : getTransactionAmount().hashCode()); |
||||
result = prime * result + ((getBeforeAmount() == null) ? 0 : getBeforeAmount().hashCode()); |
||||
result = prime * result + ((getAfterAmount() == null) ? 0 : getAfterAmount().hashCode()); |
||||
result = prime * result + ((getSourceType() == null) ? 0 : getSourceType().hashCode()); |
||||
result = prime * result + ((getSourceId() == null) ? 0 : getSourceId().hashCode()); |
||||
result = prime * result + ((getSourceOrderNo() == null) ? 0 : getSourceOrderNo().hashCode()); |
||||
result = prime * result + ((getSourceContent() == null) ? 0 : getSourceContent().hashCode()); |
||||
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode()); |
||||
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().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(", userId=").append(userId); |
||||
sb.append(", userAccountId=").append(userAccountId); |
||||
sb.append(", type=").append(type); |
||||
sb.append(", transactionAmount=").append(transactionAmount); |
||||
sb.append(", beforeAmount=").append(beforeAmount); |
||||
sb.append(", afterAmount=").append(afterAmount); |
||||
sb.append(", sourceType=").append(sourceType); |
||||
sb.append(", sourceId=").append(sourceId); |
||||
sb.append(", sourceOrderNo=").append(sourceOrderNo); |
||||
sb.append(", sourceContent=").append(sourceContent); |
||||
sb.append(", status=").append(status); |
||||
sb.append(", createTime=").append(createTime); |
||||
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(); |
||||
} |
||||
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,33 @@ |
||||
package com.hfkj.service.user; |
||||
|
||||
import com.hfkj.entity.BsUserAccountRecord; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @className: BsUserAccountRecordService |
||||
* @author: HuRui |
||||
* @date: 2024/9/8 |
||||
**/ |
||||
public interface BsUserAccountRecordService { |
||||
|
||||
/** |
||||
* 创建 |
||||
* @param data |
||||
*/ |
||||
void create(BsUserAccountRecord data); |
||||
|
||||
/** |
||||
* 查询详情 |
||||
* @param id |
||||
* @return |
||||
*/ |
||||
BsUserAccountRecord getDetail(Long id); |
||||
|
||||
/** |
||||
* 查询列表 |
||||
* @param param |
||||
* @return |
||||
*/ |
||||
List<BsUserAccountRecord> getList(Map<String,Object> param); |
||||
} |
@ -0,0 +1,44 @@ |
||||
package com.hfkj.service.user; |
||||
|
||||
import com.hfkj.entity.BsUserAccount; |
||||
import com.hfkj.sysenum.user.UserAccountRecordSourceTypeEnum; |
||||
|
||||
import java.math.BigDecimal; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @className: BsUserAccountService |
||||
* @author: HuRui |
||||
* @date: 2024/9/8 |
||||
**/ |
||||
public interface BsUserAccountService { |
||||
|
||||
/** |
||||
* 创建账户 |
||||
* @param userId |
||||
*/ |
||||
void create(Long userId); |
||||
|
||||
/** |
||||
* 查询账户 |
||||
* @param userId 用户id |
||||
*/ |
||||
BsUserAccount getAccount(Long userId); |
||||
|
||||
/** |
||||
* 充值 |
||||
* @param userId 用户id |
||||
* @param amount 金额 |
||||
* @param otherParam 其他参数 |
||||
*/ |
||||
void recharge(Long userId, BigDecimal amount, UserAccountRecordSourceTypeEnum sourceType, Map<String, Object> otherParam) throws Exception; |
||||
|
||||
/** |
||||
* 扣除 |
||||
* @param userId 用户id |
||||
* @param amount 金额 |
||||
* @param otherParam 其他参数 |
||||
*/ |
||||
void consume(Long userId, BigDecimal amount, UserAccountRecordSourceTypeEnum sourceType,Map<String, Object> otherParam) throws Exception; |
||||
|
||||
} |
@ -0,0 +1,54 @@ |
||||
package com.hfkj.service.user.impl; |
||||
|
||||
import com.hfkj.dao.BsUserAccountRecordMapper; |
||||
import com.hfkj.entity.BsUserAccountRecord; |
||||
import com.hfkj.entity.BsUserAccountRecordExample; |
||||
import com.hfkj.service.user.BsUserAccountRecordService; |
||||
import org.apache.commons.collections4.MapUtils; |
||||
|
||||
import javax.annotation.Resource; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
|
||||
/** |
||||
* @className: BsUserAccountRecordServiceImpl |
||||
* @author: HuRui |
||||
* @date: 2024/9/8 |
||||
**/ |
||||
public class BsUserAccountRecordServiceImpl implements BsUserAccountRecordService { |
||||
@Resource |
||||
private BsUserAccountRecordMapper userAccountRecordMapper; |
||||
@Override |
||||
public void create(BsUserAccountRecord data) { |
||||
data.setStatus(1); |
||||
data.setCreateTime(new Date()); |
||||
userAccountRecordMapper.insert(data); |
||||
} |
||||
|
||||
@Override |
||||
public BsUserAccountRecord getDetail(Long id) { |
||||
return userAccountRecordMapper.selectByPrimaryKey(id); |
||||
} |
||||
|
||||
@Override |
||||
public List<BsUserAccountRecord> getList(Map<String, Object> param) { |
||||
BsUserAccountRecordExample example = new BsUserAccountRecordExample(); |
||||
BsUserAccountRecordExample.Criteria criteria = example.createCriteria().andStatusNotEqualTo(0); |
||||
|
||||
if (MapUtils.getLong(param, "userId") != null) { |
||||
criteria.andUserIdEqualTo(MapUtils.getLong(param, "userId")); |
||||
} |
||||
|
||||
if (MapUtils.getInteger(param, "type") != null) { |
||||
criteria.andTypeEqualTo(MapUtils.getInteger(param, "type")); |
||||
} |
||||
|
||||
if (MapUtils.getInteger(param, "sourceType") != null) { |
||||
criteria.andSourceTypeEqualTo(MapUtils.getInteger(param, "sourceType")); |
||||
} |
||||
|
||||
example.setOrderByClause("create_time desc"); |
||||
return userAccountRecordMapper.selectByExample(example); |
||||
} |
||||
} |
@ -0,0 +1,181 @@ |
||||
package com.hfkj.service.user.impl; |
||||
|
||||
import com.hfkj.common.exception.BaseException; |
||||
import com.hfkj.common.exception.ErrorCode; |
||||
import com.hfkj.common.exception.ErrorHelp; |
||||
import com.hfkj.common.exception.SysCode; |
||||
import com.hfkj.dao.BsUserAccountMapper; |
||||
import com.hfkj.entity.BsUserAccount; |
||||
import com.hfkj.entity.BsUserAccountExample; |
||||
import com.hfkj.entity.BsUserAccountRecord; |
||||
import com.hfkj.service.user.BsUserAccountRecordService; |
||||
import com.hfkj.service.user.BsUserAccountService; |
||||
import com.hfkj.sysenum.user.UserAccountRecordSourceTypeEnum; |
||||
import com.hfkj.sysenum.user.UserAccountRecordTypeEnum; |
||||
import com.hfkj.sysenum.user.UserAccountStatusEnum; |
||||
import org.apache.commons.collections4.MapUtils; |
||||
import org.springframework.data.redis.core.RedisTemplate; |
||||
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.Date; |
||||
import java.util.List; |
||||
import java.util.Map; |
||||
import java.util.concurrent.TimeUnit; |
||||
|
||||
/** |
||||
* @className: BsUserAccountServiceImpl |
||||
* @author: HuRui |
||||
* @date: 2024/9/8 |
||||
**/ |
||||
@Service("userAccountService") |
||||
public class BsUserAccountServiceImpl implements BsUserAccountService { |
||||
@Resource |
||||
private BsUserAccountMapper userAccountMapper; |
||||
@Resource |
||||
private BsUserAccountRecordService userAccountRecordService; |
||||
@Resource |
||||
private RedisTemplate<String,Object> redisTemplate; |
||||
private final String LOCK_KEY = "USER_TRADE_LOCK_"; |
||||
|
||||
@Override |
||||
public void create(Long userId) { |
||||
BsUserAccount account = new BsUserAccount(); |
||||
account.setUserId(userId); |
||||
account.setGoldCoin(new BigDecimal("0")); |
||||
account.setStatus(UserAccountStatusEnum.status1.getCode()); |
||||
account.setCreateTime(new Date()); |
||||
account.setUpdateTime(new Date()); |
||||
userAccountMapper.insert(account); |
||||
} |
||||
|
||||
@Override |
||||
public BsUserAccount getAccount(Long userId) { |
||||
BsUserAccountExample example = new BsUserAccountExample(); |
||||
example.createCriteria().andUserIdEqualTo(userId).andStatusNotEqualTo(UserAccountStatusEnum.status0.getCode()); |
||||
List<BsUserAccount> list = userAccountMapper.selectByExample(example); |
||||
if (!list.isEmpty()) { |
||||
return list.get(0); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
/** |
||||
* 修改数据 |
||||
* @param data |
||||
*/ |
||||
public void update(BsUserAccount data) { |
||||
data.setUpdateTime(new Date()); |
||||
userAccountMapper.updateByPrimaryKey(data); |
||||
} |
||||
|
||||
@Override |
||||
@Transactional(propagation= Propagation.REQUIRED,rollbackFor= {RuntimeException.class}) |
||||
public void recharge(Long userId, BigDecimal amount, UserAccountRecordSourceTypeEnum sourceType, Map<String, Object> otherParam) throws Exception { |
||||
// 锁编号
|
||||
String lockKey = LOCK_KEY+userId; |
||||
// 获取锁
|
||||
Boolean lock = redisTemplate.opsForValue().setIfAbsent(lockKey, ""); |
||||
if (Boolean.TRUE.equals(lock)) { |
||||
try { |
||||
// 获取锁成功
|
||||
// 锁超时时间 10秒
|
||||
redisTemplate.expire(lockKey, 10, TimeUnit.SECONDS); |
||||
|
||||
// 查询账户
|
||||
BsUserAccount userAccount = getAccount(userId); |
||||
// 变更前金额
|
||||
BigDecimal beforeAmount = userAccount.getGoldCoin(); |
||||
// 计算金额
|
||||
userAccount.setGoldCoin(userAccount.getGoldCoin().add(amount)); |
||||
update(userAccount); |
||||
// 变更后金额
|
||||
BigDecimal afterAmount = userAccount.getGoldCoin(); |
||||
|
||||
BsUserAccountRecord record = new BsUserAccountRecord(); |
||||
record.setUserId(userId); |
||||
record.setUserAccountId(userAccount.getId()); |
||||
record.setType(UserAccountRecordTypeEnum.type1.getType()); |
||||
record.setTransactionAmount(amount); |
||||
record.setBeforeAmount(beforeAmount); |
||||
record.setAfterAmount(afterAmount); |
||||
record.setSourceType(sourceType.getType()); |
||||
record.setSourceId(MapUtils.getLong(otherParam, "sourceId")); |
||||
record.setSourceOrderNo(MapUtils.getString(otherParam, "sourceOrderNo")); |
||||
record.setSourceContent(MapUtils.getString(otherParam, "sourceContent")); |
||||
userAccountRecordService.create(record); |
||||
|
||||
// 释放锁
|
||||
redisTemplate.delete(lockKey); |
||||
|
||||
} catch (BaseException e) { |
||||
// 释放锁
|
||||
redisTemplate.delete(lockKey); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, e.getErrorMsg()); |
||||
} catch (Exception e) { |
||||
// 释放锁
|
||||
redisTemplate.delete(lockKey); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "啊偶~交易出现未知问题!请稍后重试"); |
||||
} |
||||
} else { |
||||
Thread.sleep(100); |
||||
recharge(userId, amount, sourceType, otherParam); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void consume(Long userId, BigDecimal amount, UserAccountRecordSourceTypeEnum sourceType, Map<String, Object> otherParam) throws Exception { |
||||
// 锁编号
|
||||
String lockKey = LOCK_KEY+userId; |
||||
// 获取锁
|
||||
Boolean lock = redisTemplate.opsForValue().setIfAbsent(lockKey, ""); |
||||
if (Boolean.TRUE.equals(lock)) { |
||||
try { |
||||
// 获取锁成功
|
||||
// 锁超时时间 10秒
|
||||
redisTemplate.expire(lockKey, 10, TimeUnit.SECONDS); |
||||
|
||||
// 查询账户
|
||||
BsUserAccount userAccount = getAccount(userId); |
||||
// 变更前金额
|
||||
BigDecimal beforeAmount = userAccount.getGoldCoin(); |
||||
// 计算金额
|
||||
userAccount.setGoldCoin(userAccount.getGoldCoin().subtract(amount)); |
||||
update(userAccount); |
||||
// 变更后金额
|
||||
BigDecimal afterAmount = userAccount.getGoldCoin(); |
||||
|
||||
BsUserAccountRecord record = new BsUserAccountRecord(); |
||||
record.setUserId(userId); |
||||
record.setUserAccountId(userAccount.getId()); |
||||
record.setType(UserAccountRecordTypeEnum.type1.getType()); |
||||
record.setTransactionAmount(amount); |
||||
record.setBeforeAmount(beforeAmount); |
||||
record.setAfterAmount(afterAmount); |
||||
record.setSourceType(sourceType.getType()); |
||||
record.setSourceId(MapUtils.getLong(otherParam, "sourceId")); |
||||
record.setSourceOrderNo(MapUtils.getString(otherParam, "sourceOrderNo")); |
||||
record.setSourceContent(MapUtils.getString(otherParam, "sourceContent")); |
||||
userAccountRecordService.create(record); |
||||
|
||||
// 释放锁
|
||||
redisTemplate.delete(lockKey); |
||||
|
||||
} catch (BaseException e) { |
||||
// 释放锁
|
||||
redisTemplate.delete(lockKey); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, e.getErrorMsg()); |
||||
} catch (Exception e) { |
||||
// 释放锁
|
||||
redisTemplate.delete(lockKey); |
||||
throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "啊偶~交易出现未知问题!请稍后重试"); |
||||
} |
||||
} else { |
||||
Thread.sleep(100); |
||||
consume(userId, amount, sourceType, otherParam); |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,25 @@ |
||||
package com.hfkj.sysenum.user; |
||||
|
||||
import lombok.Getter; |
||||
|
||||
/** |
||||
* 用户账户记录来源 |
||||
* @author hurui |
||||
*/ |
||||
@Getter |
||||
public enum UserAccountRecordSourceTypeEnum { |
||||
/** |
||||
* 充值 |
||||
*/ |
||||
type1(1 , "充值金额"), |
||||
; |
||||
|
||||
private Integer type; |
||||
private String name; |
||||
|
||||
UserAccountRecordSourceTypeEnum(int type , String name) { |
||||
this.type = type; |
||||
this.name = name; |
||||
} |
||||
|
||||
} |
@ -0,0 +1,28 @@ |
||||
package com.hfkj.sysenum.user; |
||||
|
||||
import lombok.Getter; |
||||
|
||||
/** |
||||
* 用户账户记录类型 |
||||
* @author hurui |
||||
*/ |
||||
@Getter |
||||
public enum UserAccountRecordTypeEnum { |
||||
/** |
||||
* 进账 |
||||
*/ |
||||
type1(1 , "进账"), |
||||
/** |
||||
* 支出 |
||||
*/ |
||||
type2(2 , "支出"), |
||||
; |
||||
|
||||
private Integer type; |
||||
private String name; |
||||
|
||||
UserAccountRecordTypeEnum(int type , String name) { |
||||
this.type = type; |
||||
this.name = name; |
||||
} |
||||
} |
@ -0,0 +1,37 @@ |
||||
package com.hfkj.sysenum.user; |
||||
|
||||
import lombok.Getter; |
||||
|
||||
/** |
||||
* @className: UserStatusEnum |
||||
* @author: HuRui |
||||
* @date: 2024/8/8 |
||||
**/ |
||||
@Getter |
||||
public enum UserAccountStatusEnum { |
||||
/** |
||||
* 删除 |
||||
*/ |
||||
status0(0, "删除"), |
||||
|
||||
/** |
||||
* 正常 |
||||
*/ |
||||
status1(1, "正常"), |
||||
|
||||
/** |
||||
* 冻结 |
||||
*/ |
||||
status2(2, "冻结"), |
||||
; |
||||
|
||||
private int code; |
||||
|
||||
private String name; |
||||
|
||||
|
||||
UserAccountStatusEnum(int code, String name) { |
||||
this.code = code; |
||||
this.name = name; |
||||
} |
||||
} |
Loading…
Reference in new issue