diff --git a/hai-cweb/src/main/java/com/cweb/controller/HighActivityController.java b/hai-cweb/src/main/java/com/cweb/controller/HighActivityController.java index b568d8e1..4d8e3ce7 100644 --- a/hai-cweb/src/main/java/com/cweb/controller/HighActivityController.java +++ b/hai-cweb/src/main/java/com/cweb/controller/HighActivityController.java @@ -1,29 +1,34 @@ package com.cweb.controller; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; +import com.hai.common.exception.ErrorCode; +import com.hai.common.exception.ErrorHelp; +import com.hai.common.exception.SysCode; +import com.hai.common.security.SessionObject; +import com.hai.common.security.UserCenter; import com.hai.common.utils.CoordCommonUtil; import com.hai.common.utils.PageUtil; import com.hai.common.utils.ResponseMsgUtil; -import com.hai.entity.HighActivityAward; -import com.hai.entity.HighActivityInfo; -import com.hai.entity.HighGasDiscountOilPrice; -import com.hai.entity.SecRegion; +import com.hai.entity.*; +import com.hai.enum_type.ActivityInfoStatus; +import com.hai.model.HighUserModel; import com.hai.model.ResponseData; import com.hai.service.HighActivityAwardService; import com.hai.service.HighActivityInfoService; +import com.hai.service.HighActivityUserLotteryNumService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.collections4.MapUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.*; /** @@ -37,12 +42,40 @@ public class HighActivityController { private static Logger log = LoggerFactory.getLogger(HighActivityController.class); + @Resource + private UserCenter userCenter; + @Resource private HighActivityInfoService highActivityInfoService; @Resource private HighActivityAwardService highActivityAwardService; + @Resource + private HighActivityUserLotteryNumService highActivityUserLotteryNumService; + + @RequestMapping(value="/userLottery",method = RequestMethod.POST) + @ResponseBody + @ApiOperation(value = "用户抽奖业务") + public ResponseData userLottery(@RequestBody JSONObject body, HttpServletRequest request) { + try { + // 用户 + SessionObject sessionObject = userCenter.getSessionObject(request); + HighUserModel userInfoModel = (HighUserModel) sessionObject.getObject(); + + if (body == null || body.getLong("activityId") == null) { + log.error("HighActivityController --> lottery() error!", "参数错误"); + throw ErrorHelp.genException(SysCode.System, ErrorCode.REQ_PARAMS_ERROR, ""); + } + + return ResponseMsgUtil.success(highActivityUserLotteryNumService.userLottery(body.getLong("activityId"),userInfoModel.getHighUser().getId())); + + } catch (Exception e) { + log.error("HighActivityController -> userLottery() error!",e); + return ResponseMsgUtil.exception(e); + } + } + @RequestMapping(value="/getActivityByCoupon",method = RequestMethod.GET) @ResponseBody @ApiOperation(value = "根据卡券查询活动信息") diff --git a/hai-service/src/main/java/com/hai/dao/HighActivityAwardSerialNumMapper.java b/hai-service/src/main/java/com/hai/dao/HighActivityAwardSerialNumMapper.java index 353286c5..d3f64cb8 100644 --- a/hai-service/src/main/java/com/hai/dao/HighActivityAwardSerialNumMapper.java +++ b/hai-service/src/main/java/com/hai/dao/HighActivityAwardSerialNumMapper.java @@ -43,7 +43,7 @@ public interface HighActivityAwardSerialNumMapper extends HighActivityAwardSeria "serial_num, `status`, ", "create_time, ext_1, ", "ext_2, ext_3)", - "values (#{activityInfoId,jdbcType=INTEGER}, #{activityAwardId,jdbcType=BIGINT}, ", + "values (#{activityInfoId,jdbcType=BIGINT}, #{activityAwardId,jdbcType=BIGINT}, ", "#{serialNum,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, ", "#{createTime,jdbcType=TIMESTAMP}, #{ext1,jdbcType=VARCHAR}, ", "#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" @@ -58,7 +58,7 @@ public interface HighActivityAwardSerialNumMapper extends HighActivityAwardSeria @SelectProvider(type=HighActivityAwardSerialNumSqlProvider.class, method="selectByExample") @Results({ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), - @Result(column="activity_info_id", property="activityInfoId", jdbcType=JdbcType.INTEGER), + @Result(column="activity_info_id", property="activityInfoId", jdbcType=JdbcType.BIGINT), @Result(column="activity_award_id", property="activityAwardId", jdbcType=JdbcType.BIGINT), @Result(column="serial_num", property="serialNum", jdbcType=JdbcType.VARCHAR), @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), @@ -78,7 +78,7 @@ public interface HighActivityAwardSerialNumMapper extends HighActivityAwardSeria }) @Results({ @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), - @Result(column="activity_info_id", property="activityInfoId", jdbcType=JdbcType.INTEGER), + @Result(column="activity_info_id", property="activityInfoId", jdbcType=JdbcType.BIGINT), @Result(column="activity_award_id", property="activityAwardId", jdbcType=JdbcType.BIGINT), @Result(column="serial_num", property="serialNum", jdbcType=JdbcType.VARCHAR), @Result(column="status", property="status", jdbcType=JdbcType.INTEGER), @@ -100,7 +100,7 @@ public interface HighActivityAwardSerialNumMapper extends HighActivityAwardSeria @Update({ "update high_activity_award_serial_num", - "set activity_info_id = #{activityInfoId,jdbcType=INTEGER},", + "set activity_info_id = #{activityInfoId,jdbcType=BIGINT},", "activity_award_id = #{activityAwardId,jdbcType=BIGINT},", "serial_num = #{serialNum,jdbcType=VARCHAR},", "`status` = #{status,jdbcType=INTEGER},", diff --git a/hai-service/src/main/java/com/hai/dao/HighActivityAwardSerialNumSqlProvider.java b/hai-service/src/main/java/com/hai/dao/HighActivityAwardSerialNumSqlProvider.java index f7323144..e1cb5eee 100644 --- a/hai-service/src/main/java/com/hai/dao/HighActivityAwardSerialNumSqlProvider.java +++ b/hai-service/src/main/java/com/hai/dao/HighActivityAwardSerialNumSqlProvider.java @@ -29,7 +29,7 @@ public class HighActivityAwardSerialNumSqlProvider { sql.INSERT_INTO("high_activity_award_serial_num"); if (record.getActivityInfoId() != null) { - sql.VALUES("activity_info_id", "#{activityInfoId,jdbcType=INTEGER}"); + sql.VALUES("activity_info_id", "#{activityInfoId,jdbcType=BIGINT}"); } if (record.getActivityAwardId() != null) { @@ -100,7 +100,7 @@ public class HighActivityAwardSerialNumSqlProvider { } if (record.getActivityInfoId() != null) { - sql.SET("activity_info_id = #{record.activityInfoId,jdbcType=INTEGER}"); + sql.SET("activity_info_id = #{record.activityInfoId,jdbcType=BIGINT}"); } if (record.getActivityAwardId() != null) { @@ -140,7 +140,7 @@ public class HighActivityAwardSerialNumSqlProvider { sql.UPDATE("high_activity_award_serial_num"); sql.SET("id = #{record.id,jdbcType=BIGINT}"); - sql.SET("activity_info_id = #{record.activityInfoId,jdbcType=INTEGER}"); + sql.SET("activity_info_id = #{record.activityInfoId,jdbcType=BIGINT}"); sql.SET("activity_award_id = #{record.activityAwardId,jdbcType=BIGINT}"); sql.SET("serial_num = #{record.serialNum,jdbcType=VARCHAR}"); sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); @@ -159,7 +159,7 @@ public class HighActivityAwardSerialNumSqlProvider { sql.UPDATE("high_activity_award_serial_num"); if (record.getActivityInfoId() != null) { - sql.SET("activity_info_id = #{activityInfoId,jdbcType=INTEGER}"); + sql.SET("activity_info_id = #{activityInfoId,jdbcType=BIGINT}"); } if (record.getActivityAwardId() != null) { diff --git a/hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumMapper.java b/hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumMapper.java new file mode 100644 index 00000000..4546f393 --- /dev/null +++ b/hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumMapper.java @@ -0,0 +1,114 @@ +package com.hai.dao; + +import com.hai.entity.HighActivityUserLotteryNum; +import com.hai.entity.HighActivityUserLotteryNumExample; +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 HighActivityUserLotteryNumMapper extends HighActivityUserLotteryNumMapperExt { + @SelectProvider(type=HighActivityUserLotteryNumSqlProvider.class, method="countByExample") + long countByExample(HighActivityUserLotteryNumExample example); + + @DeleteProvider(type=HighActivityUserLotteryNumSqlProvider.class, method="deleteByExample") + int deleteByExample(HighActivityUserLotteryNumExample example); + + @Delete({ + "delete from high_activity_user_lottery_num", + "where id = #{id,jdbcType=BIGINT}" + }) + int deleteByPrimaryKey(Long id); + + @Insert({ + "insert into high_activity_user_lottery_num (activity_info_id, user_id, ", + "lottery_num, create_time, ", + "update_time, ext_1, ", + "ext_2, ext_3)", + "values (#{activityInfoId,jdbcType=BIGINT}, #{userId,jdbcType=BIGINT}, ", + "#{lotteryNum,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, ", + "#{updateTime,jdbcType=TIMESTAMP}, #{ext1,jdbcType=VARCHAR}, ", + "#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" + }) + @Options(useGeneratedKeys=true,keyProperty="id") + int insert(HighActivityUserLotteryNum record); + + @InsertProvider(type=HighActivityUserLotteryNumSqlProvider.class, method="insertSelective") + @Options(useGeneratedKeys=true,keyProperty="id") + int insertSelective(HighActivityUserLotteryNum record); + + @SelectProvider(type=HighActivityUserLotteryNumSqlProvider.class, method="selectByExample") + @Results({ + @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), + @Result(column="activity_info_id", property="activityInfoId", jdbcType=JdbcType.BIGINT), + @Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), + @Result(column="lottery_num", property="lotteryNum", 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 selectByExample(HighActivityUserLotteryNumExample example); + + @Select({ + "select", + "id, activity_info_id, user_id, lottery_num, create_time, update_time, ext_1, ", + "ext_2, ext_3", + "from high_activity_user_lottery_num", + "where id = #{id,jdbcType=BIGINT}" + }) + @Results({ + @Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), + @Result(column="activity_info_id", property="activityInfoId", jdbcType=JdbcType.BIGINT), + @Result(column="user_id", property="userId", jdbcType=JdbcType.BIGINT), + @Result(column="lottery_num", property="lotteryNum", 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) + }) + HighActivityUserLotteryNum selectByPrimaryKey(Long id); + + @UpdateProvider(type=HighActivityUserLotteryNumSqlProvider.class, method="updateByExampleSelective") + int updateByExampleSelective(@Param("record") HighActivityUserLotteryNum record, @Param("example") HighActivityUserLotteryNumExample example); + + @UpdateProvider(type=HighActivityUserLotteryNumSqlProvider.class, method="updateByExample") + int updateByExample(@Param("record") HighActivityUserLotteryNum record, @Param("example") HighActivityUserLotteryNumExample example); + + @UpdateProvider(type=HighActivityUserLotteryNumSqlProvider.class, method="updateByPrimaryKeySelective") + int updateByPrimaryKeySelective(HighActivityUserLotteryNum record); + + @Update({ + "update high_activity_user_lottery_num", + "set activity_info_id = #{activityInfoId,jdbcType=BIGINT},", + "user_id = #{userId,jdbcType=BIGINT},", + "lottery_num = #{lotteryNum,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(HighActivityUserLotteryNum record); +} \ No newline at end of file diff --git a/hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumMapperExt.java b/hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumMapperExt.java new file mode 100644 index 00000000..9686bfff --- /dev/null +++ b/hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumMapperExt.java @@ -0,0 +1,7 @@ +package com.hai.dao; + +/** + * mapper扩展类 + */ +public interface HighActivityUserLotteryNumMapperExt { +} \ No newline at end of file diff --git a/hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumSqlProvider.java b/hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumSqlProvider.java new file mode 100644 index 00000000..48606370 --- /dev/null +++ b/hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumSqlProvider.java @@ -0,0 +1,290 @@ +package com.hai.dao; + +import com.hai.entity.HighActivityUserLotteryNum; +import com.hai.entity.HighActivityUserLotteryNumExample.Criteria; +import com.hai.entity.HighActivityUserLotteryNumExample.Criterion; +import com.hai.entity.HighActivityUserLotteryNumExample; +import java.util.List; +import java.util.Map; +import org.apache.ibatis.jdbc.SQL; + +public class HighActivityUserLotteryNumSqlProvider { + + public String countByExample(HighActivityUserLotteryNumExample example) { + SQL sql = new SQL(); + sql.SELECT("count(*)").FROM("high_activity_user_lottery_num"); + applyWhere(sql, example, false); + return sql.toString(); + } + + public String deleteByExample(HighActivityUserLotteryNumExample example) { + SQL sql = new SQL(); + sql.DELETE_FROM("high_activity_user_lottery_num"); + applyWhere(sql, example, false); + return sql.toString(); + } + + public String insertSelective(HighActivityUserLotteryNum record) { + SQL sql = new SQL(); + sql.INSERT_INTO("high_activity_user_lottery_num"); + + if (record.getActivityInfoId() != null) { + sql.VALUES("activity_info_id", "#{activityInfoId,jdbcType=BIGINT}"); + } + + if (record.getUserId() != null) { + sql.VALUES("user_id", "#{userId,jdbcType=BIGINT}"); + } + + if (record.getLotteryNum() != null) { + sql.VALUES("lottery_num", "#{lotteryNum,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(HighActivityUserLotteryNumExample example) { + SQL sql = new SQL(); + if (example != null && example.isDistinct()) { + sql.SELECT_DISTINCT("id"); + } else { + sql.SELECT("id"); + } + sql.SELECT("activity_info_id"); + sql.SELECT("user_id"); + sql.SELECT("lottery_num"); + sql.SELECT("create_time"); + sql.SELECT("update_time"); + sql.SELECT("ext_1"); + sql.SELECT("ext_2"); + sql.SELECT("ext_3"); + sql.FROM("high_activity_user_lottery_num"); + applyWhere(sql, example, false); + + if (example != null && example.getOrderByClause() != null) { + sql.ORDER_BY(example.getOrderByClause()); + } + + return sql.toString(); + } + + public String updateByExampleSelective(Map parameter) { + HighActivityUserLotteryNum record = (HighActivityUserLotteryNum) parameter.get("record"); + HighActivityUserLotteryNumExample example = (HighActivityUserLotteryNumExample) parameter.get("example"); + + SQL sql = new SQL(); + sql.UPDATE("high_activity_user_lottery_num"); + + if (record.getId() != null) { + sql.SET("id = #{record.id,jdbcType=BIGINT}"); + } + + if (record.getActivityInfoId() != null) { + sql.SET("activity_info_id = #{record.activityInfoId,jdbcType=BIGINT}"); + } + + if (record.getUserId() != null) { + sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); + } + + if (record.getLotteryNum() != null) { + sql.SET("lottery_num = #{record.lotteryNum,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 parameter) { + SQL sql = new SQL(); + sql.UPDATE("high_activity_user_lottery_num"); + + sql.SET("id = #{record.id,jdbcType=BIGINT}"); + sql.SET("activity_info_id = #{record.activityInfoId,jdbcType=BIGINT}"); + sql.SET("user_id = #{record.userId,jdbcType=BIGINT}"); + sql.SET("lottery_num = #{record.lotteryNum,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}"); + + HighActivityUserLotteryNumExample example = (HighActivityUserLotteryNumExample) parameter.get("example"); + applyWhere(sql, example, true); + return sql.toString(); + } + + public String updateByPrimaryKeySelective(HighActivityUserLotteryNum record) { + SQL sql = new SQL(); + sql.UPDATE("high_activity_user_lottery_num"); + + if (record.getActivityInfoId() != null) { + sql.SET("activity_info_id = #{activityInfoId,jdbcType=BIGINT}"); + } + + if (record.getUserId() != null) { + sql.SET("user_id = #{userId,jdbcType=BIGINT}"); + } + + if (record.getLotteryNum() != null) { + sql.SET("lottery_num = #{lotteryNum,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, HighActivityUserLotteryNumExample 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 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 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()); + } + } +} \ No newline at end of file diff --git a/hai-service/src/main/java/com/hai/entity/HighActivityAwardSerialNum.java b/hai-service/src/main/java/com/hai/entity/HighActivityAwardSerialNum.java index 1ffb594a..5c96fdca 100644 --- a/hai-service/src/main/java/com/hai/entity/HighActivityAwardSerialNum.java +++ b/hai-service/src/main/java/com/hai/entity/HighActivityAwardSerialNum.java @@ -21,7 +21,7 @@ public class HighActivityAwardSerialNum implements Serializable { /** * 活动信息id */ - private Integer activityInfoId; + private Long activityInfoId; /** * 活动奖励id @@ -59,11 +59,11 @@ public class HighActivityAwardSerialNum implements Serializable { this.id = id; } - public Integer getActivityInfoId() { + public Long getActivityInfoId() { return activityInfoId; } - public void setActivityInfoId(Integer activityInfoId) { + public void setActivityInfoId(Long activityInfoId) { this.activityInfoId = activityInfoId; } diff --git a/hai-service/src/main/java/com/hai/entity/HighActivityAwardSerialNumExample.java b/hai-service/src/main/java/com/hai/entity/HighActivityAwardSerialNumExample.java index f938a4e2..8de5f0ce 100644 --- a/hai-service/src/main/java/com/hai/entity/HighActivityAwardSerialNumExample.java +++ b/hai-service/src/main/java/com/hai/entity/HighActivityAwardSerialNumExample.java @@ -195,52 +195,52 @@ public class HighActivityAwardSerialNumExample { return (Criteria) this; } - public Criteria andActivityInfoIdEqualTo(Integer value) { + public Criteria andActivityInfoIdEqualTo(Long value) { addCriterion("activity_info_id =", value, "activityInfoId"); return (Criteria) this; } - public Criteria andActivityInfoIdNotEqualTo(Integer value) { + public Criteria andActivityInfoIdNotEqualTo(Long value) { addCriterion("activity_info_id <>", value, "activityInfoId"); return (Criteria) this; } - public Criteria andActivityInfoIdGreaterThan(Integer value) { + public Criteria andActivityInfoIdGreaterThan(Long value) { addCriterion("activity_info_id >", value, "activityInfoId"); return (Criteria) this; } - public Criteria andActivityInfoIdGreaterThanOrEqualTo(Integer value) { + public Criteria andActivityInfoIdGreaterThanOrEqualTo(Long value) { addCriterion("activity_info_id >=", value, "activityInfoId"); return (Criteria) this; } - public Criteria andActivityInfoIdLessThan(Integer value) { + public Criteria andActivityInfoIdLessThan(Long value) { addCriterion("activity_info_id <", value, "activityInfoId"); return (Criteria) this; } - public Criteria andActivityInfoIdLessThanOrEqualTo(Integer value) { + public Criteria andActivityInfoIdLessThanOrEqualTo(Long value) { addCriterion("activity_info_id <=", value, "activityInfoId"); return (Criteria) this; } - public Criteria andActivityInfoIdIn(List values) { + public Criteria andActivityInfoIdIn(List values) { addCriterion("activity_info_id in", values, "activityInfoId"); return (Criteria) this; } - public Criteria andActivityInfoIdNotIn(List values) { + public Criteria andActivityInfoIdNotIn(List values) { addCriterion("activity_info_id not in", values, "activityInfoId"); return (Criteria) this; } - public Criteria andActivityInfoIdBetween(Integer value1, Integer value2) { + public Criteria andActivityInfoIdBetween(Long value1, Long value2) { addCriterion("activity_info_id between", value1, value2, "activityInfoId"); return (Criteria) this; } - public Criteria andActivityInfoIdNotBetween(Integer value1, Integer value2) { + public Criteria andActivityInfoIdNotBetween(Long value1, Long value2) { addCriterion("activity_info_id not between", value1, value2, "activityInfoId"); return (Criteria) this; } diff --git a/hai-service/src/main/java/com/hai/entity/HighActivityUserLotteryNum.java b/hai-service/src/main/java/com/hai/entity/HighActivityUserLotteryNum.java new file mode 100644 index 00000000..6555483e --- /dev/null +++ b/hai-service/src/main/java/com/hai/entity/HighActivityUserLotteryNum.java @@ -0,0 +1,184 @@ +package com.hai.entity; + +import java.io.Serializable; +import java.util.Date; + +/** + * high_activity_user_lottery_num + * @author + */ +/** + * + * 代码由工具生成 + * + **/ +public class HighActivityUserLotteryNum implements Serializable { + /** + * 主键ID + */ + private Long id; + + /** + * 活动信息id + */ + private Long activityInfoId; + + /** + * 用户id + */ + private Long userId; + + /** + * 抽奖次数 + */ + private Integer lotteryNum; + + /** + * 创建时间 + */ + 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 getActivityInfoId() { + return activityInfoId; + } + + public void setActivityInfoId(Long activityInfoId) { + this.activityInfoId = activityInfoId; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public Integer getLotteryNum() { + return lotteryNum; + } + + public void setLotteryNum(Integer lotteryNum) { + this.lotteryNum = lotteryNum; + } + + 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; + } + HighActivityUserLotteryNum other = (HighActivityUserLotteryNum) that; + return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId())) + && (this.getActivityInfoId() == null ? other.getActivityInfoId() == null : this.getActivityInfoId().equals(other.getActivityInfoId())) + && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId())) + && (this.getLotteryNum() == null ? other.getLotteryNum() == null : this.getLotteryNum().equals(other.getLotteryNum())) + && (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 + ((getActivityInfoId() == null) ? 0 : getActivityInfoId().hashCode()); + result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode()); + result = prime * result + ((getLotteryNum() == null) ? 0 : getLotteryNum().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(", activityInfoId=").append(activityInfoId); + sb.append(", userId=").append(userId); + sb.append(", lotteryNum=").append(lotteryNum); + 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(); + } +} \ No newline at end of file diff --git a/hai-service/src/main/java/com/hai/entity/HighActivityUserLotteryNumExample.java b/hai-service/src/main/java/com/hai/entity/HighActivityUserLotteryNumExample.java new file mode 100644 index 00000000..ed173fc6 --- /dev/null +++ b/hai-service/src/main/java/com/hai/entity/HighActivityUserLotteryNumExample.java @@ -0,0 +1,793 @@ +package com.hai.entity; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +public class HighActivityUserLotteryNumExample { + protected String orderByClause; + + protected boolean distinct; + + protected List oredCriteria; + + private Integer limit; + + private Long offset; + + public HighActivityUserLotteryNumExample() { + oredCriteria = new ArrayList(); + } + + 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 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 criteria; + + protected GeneratedCriteria() { + super(); + criteria = new ArrayList(); + } + + public boolean isValid() { + return criteria.size() > 0; + } + + public List getAllCriteria() { + return criteria; + } + + public List 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 values) { + addCriterion("id in", values, "id"); + return (Criteria) this; + } + + public Criteria andIdNotIn(List 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 andActivityInfoIdIsNull() { + addCriterion("activity_info_id is null"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdIsNotNull() { + addCriterion("activity_info_id is not null"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdEqualTo(Long value) { + addCriterion("activity_info_id =", value, "activityInfoId"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdNotEqualTo(Long value) { + addCriterion("activity_info_id <>", value, "activityInfoId"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdGreaterThan(Long value) { + addCriterion("activity_info_id >", value, "activityInfoId"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdGreaterThanOrEqualTo(Long value) { + addCriterion("activity_info_id >=", value, "activityInfoId"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdLessThan(Long value) { + addCriterion("activity_info_id <", value, "activityInfoId"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdLessThanOrEqualTo(Long value) { + addCriterion("activity_info_id <=", value, "activityInfoId"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdIn(List values) { + addCriterion("activity_info_id in", values, "activityInfoId"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdNotIn(List values) { + addCriterion("activity_info_id not in", values, "activityInfoId"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdBetween(Long value1, Long value2) { + addCriterion("activity_info_id between", value1, value2, "activityInfoId"); + return (Criteria) this; + } + + public Criteria andActivityInfoIdNotBetween(Long value1, Long value2) { + addCriterion("activity_info_id not between", value1, value2, "activityInfoId"); + 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 values) { + addCriterion("user_id in", values, "userId"); + return (Criteria) this; + } + + public Criteria andUserIdNotIn(List 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 andLotteryNumIsNull() { + addCriterion("lottery_num is null"); + return (Criteria) this; + } + + public Criteria andLotteryNumIsNotNull() { + addCriterion("lottery_num is not null"); + return (Criteria) this; + } + + public Criteria andLotteryNumEqualTo(Integer value) { + addCriterion("lottery_num =", value, "lotteryNum"); + return (Criteria) this; + } + + public Criteria andLotteryNumNotEqualTo(Integer value) { + addCriterion("lottery_num <>", value, "lotteryNum"); + return (Criteria) this; + } + + public Criteria andLotteryNumGreaterThan(Integer value) { + addCriterion("lottery_num >", value, "lotteryNum"); + return (Criteria) this; + } + + public Criteria andLotteryNumGreaterThanOrEqualTo(Integer value) { + addCriterion("lottery_num >=", value, "lotteryNum"); + return (Criteria) this; + } + + public Criteria andLotteryNumLessThan(Integer value) { + addCriterion("lottery_num <", value, "lotteryNum"); + return (Criteria) this; + } + + public Criteria andLotteryNumLessThanOrEqualTo(Integer value) { + addCriterion("lottery_num <=", value, "lotteryNum"); + return (Criteria) this; + } + + public Criteria andLotteryNumIn(List values) { + addCriterion("lottery_num in", values, "lotteryNum"); + return (Criteria) this; + } + + public Criteria andLotteryNumNotIn(List values) { + addCriterion("lottery_num not in", values, "lotteryNum"); + return (Criteria) this; + } + + public Criteria andLotteryNumBetween(Integer value1, Integer value2) { + addCriterion("lottery_num between", value1, value2, "lotteryNum"); + return (Criteria) this; + } + + public Criteria andLotteryNumNotBetween(Integer value1, Integer value2) { + addCriterion("lottery_num not between", value1, value2, "lotteryNum"); + 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 values) { + addCriterion("create_time in", values, "createTime"); + return (Criteria) this; + } + + public Criteria andCreateTimeNotIn(List 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 values) { + addCriterion("update_time in", values, "updateTime"); + return (Criteria) this; + } + + public Criteria andUpdateTimeNotIn(List 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 values) { + addCriterion("ext_1 in", values, "ext1"); + return (Criteria) this; + } + + public Criteria andExt1NotIn(List 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 values) { + addCriterion("ext_2 in", values, "ext2"); + return (Criteria) this; + } + + public Criteria andExt2NotIn(List 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 values) { + addCriterion("ext_3 in", values, "ext3"); + return (Criteria) this; + } + + public Criteria andExt3NotIn(List 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); + } + } +} \ No newline at end of file diff --git a/hai-service/src/main/java/com/hai/service/HighActivityAwardActualPrizeService.java b/hai-service/src/main/java/com/hai/service/HighActivityAwardActualPrizeService.java new file mode 100644 index 00000000..a9110314 --- /dev/null +++ b/hai-service/src/main/java/com/hai/service/HighActivityAwardActualPrizeService.java @@ -0,0 +1,19 @@ +package com.hai.service; + +import com.hai.entity.HighActivityAwardActualPrize; + +import java.util.List; + +/** + * + * @author hurui + */ +public interface HighActivityAwardActualPrizeService { + + /** + * 根据奖励编号 查询实际奖品 + * @param serialNumId 奖励编号id + * @return + */ + List getActualPrizeBySerialNumId(Long serialNumId); +} diff --git a/hai-service/src/main/java/com/hai/service/HighActivityAwardSerialNumService.java b/hai-service/src/main/java/com/hai/service/HighActivityAwardSerialNumService.java new file mode 100644 index 00000000..f9ce25c1 --- /dev/null +++ b/hai-service/src/main/java/com/hai/service/HighActivityAwardSerialNumService.java @@ -0,0 +1,27 @@ +package com.hai.service; + +import com.hai.entity.HighActivityAwardSerialNum; + +import java.util.List; + +/** + * + * @author hurui + */ +public interface HighActivityAwardSerialNumService { + + + /** + * 修改数据 + * @param serialNum + */ + void update(HighActivityAwardSerialNum serialNum); + + /** + * 查询未中奖的编号 + * @param activityId + * @return + */ + List getNoGainListByActivity(Long activityId); + +} diff --git a/hai-service/src/main/java/com/hai/service/HighActivityUserLotteryNumService.java b/hai-service/src/main/java/com/hai/service/HighActivityUserLotteryNumService.java new file mode 100644 index 00000000..f061a1d0 --- /dev/null +++ b/hai-service/src/main/java/com/hai/service/HighActivityUserLotteryNumService.java @@ -0,0 +1,51 @@ +package com.hai.service; + +import com.hai.entity.HighActivityUserLotteryNum; + +/** + * 用户抽奖次数 + * @author hurui + */ +public interface HighActivityUserLotteryNumService { + + /** + * 用户抽奖 + * @param activityId + * @param userId + * @return + */ + Object userLottery(Long activityId, Long userId); + + /** + * 增加抽奖次数 + * @param activityId 活动id + * @param userId 用户id + * @param num 抽奖次数 + */ + void addLotteryNum(Long activityId,Long userId,Integer num); + + /** + * 减去抽奖次数 + * @param activityId + * @param userId + */ + void minusLotteryNum(Long activityId,Long userId); + + /** + * 详情 + * @param activityId + * @param userId + * @return + */ + HighActivityUserLotteryNum getDetail(Long activityId,Long userId); + + /** + * + * 获取抽奖次数 + * @param activityId 活动id + * @param userId 用户id + * @return + */ + Integer getLotteryNum(Long activityId,Long userId); + +} diff --git a/hai-service/src/main/java/com/hai/service/impl/HighActivityAwardActualPrizeServiceImpl.java b/hai-service/src/main/java/com/hai/service/impl/HighActivityAwardActualPrizeServiceImpl.java new file mode 100644 index 00000000..eccc3029 --- /dev/null +++ b/hai-service/src/main/java/com/hai/service/impl/HighActivityAwardActualPrizeServiceImpl.java @@ -0,0 +1,24 @@ +package com.hai.service.impl; + +import com.hai.dao.HighActivityAwardActualPrizeMapper; +import com.hai.entity.HighActivityAwardActualPrize; +import com.hai.entity.HighActivityAwardActualPrizeExample; +import com.hai.service.HighActivityAwardActualPrizeService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service("highActivityAwardActualPrize") +public class HighActivityAwardActualPrizeServiceImpl implements HighActivityAwardActualPrizeService { + + @Resource + private HighActivityAwardActualPrizeMapper highActivityAwardActualPrizeMapper; + + @Override + public List getActualPrizeBySerialNumId(Long serialNumId) { + HighActivityAwardActualPrizeExample example = new HighActivityAwardActualPrizeExample(); + example.createCriteria().andActivityAwardSerialNumIdEqualTo(serialNumId).andStatusEqualTo(1); + return highActivityAwardActualPrizeMapper.selectByExample(example); + } +} diff --git a/hai-service/src/main/java/com/hai/service/impl/HighActivityAwardSerialNumServiceImpl.java b/hai-service/src/main/java/com/hai/service/impl/HighActivityAwardSerialNumServiceImpl.java new file mode 100644 index 00000000..6da4034e --- /dev/null +++ b/hai-service/src/main/java/com/hai/service/impl/HighActivityAwardSerialNumServiceImpl.java @@ -0,0 +1,29 @@ +package com.hai.service.impl; + +import com.hai.dao.HighActivityAwardSerialNumMapper; +import com.hai.entity.HighActivityAwardSerialNum; +import com.hai.entity.HighActivityAwardSerialNumExample; +import com.hai.service.HighActivityAwardSerialNumService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +@Service("highActivityAwardSerialNumService") +public class HighActivityAwardSerialNumServiceImpl implements HighActivityAwardSerialNumService { + + @Resource + private HighActivityAwardSerialNumMapper highActivityAwardSerialNumMapper; + + @Override + public void update(HighActivityAwardSerialNum serialNum) { + highActivityAwardSerialNumMapper.updateByPrimaryKey(serialNum); + } + + @Override + public List getNoGainListByActivity(Long activityId) { + HighActivityAwardSerialNumExample example = new HighActivityAwardSerialNumExample(); + example.createCriteria().andActivityInfoIdEqualTo(activityId).andStatusEqualTo(1); + return highActivityAwardSerialNumMapper.selectByExample(example); + } +} diff --git a/hai-service/src/main/java/com/hai/service/impl/HighActivityUserLotteryNumServiceImpl.java b/hai-service/src/main/java/com/hai/service/impl/HighActivityUserLotteryNumServiceImpl.java new file mode 100644 index 00000000..a3ce5ea0 --- /dev/null +++ b/hai-service/src/main/java/com/hai/service/impl/HighActivityUserLotteryNumServiceImpl.java @@ -0,0 +1,142 @@ +package com.hai.service.impl; + +import com.hai.common.exception.ErrorCode; +import com.hai.common.exception.ErrorHelp; +import com.hai.common.exception.SysCode; +import com.hai.dao.HighActivityUserLotteryNumMapper; +import com.hai.entity.*; +import com.hai.enum_type.ActivityInfoStatus; +import com.hai.service.*; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Isolation; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +@Service("highActivityUserLotteryNumService") +public class HighActivityUserLotteryNumServiceImpl implements HighActivityUserLotteryNumService { + + @Resource + private HighActivityInfoService highActivityInfoService; + + @Resource + private HighActivityAwardSerialNumService highActivityAwardSerialNumService; + + @Resource + private HighActivityAwardActualPrizeService highActivityAwardActualPrizeService; + + @Resource + private HighActivityUserLotteryNumMapper highActivityUserLotteryNumMapper; + + @Resource + private HighDiscountUserRelService highDiscountUserRelService; + + @Override + @Transactional(propagation= Propagation.REQUIRES_NEW,isolation= Isolation.SERIALIZABLE) + public Object userLottery(Long activityId, Long userId) { + // 活动信息 + HighActivityInfo activityInfo = highActivityInfoService.getDetailById(activityId); + if (activityInfo == null) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到数据"); + } + if (!activityInfo.getStatus().equals(ActivityInfoStatus.status2.getNumber())) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "活动已结束"); + } + Date currentDate = new Date(); + if (currentDate.getTime() < activityInfo.getStartTime().getTime()) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "活动还未开始"); + } + if (currentDate.getTime() > activityInfo.getEndTime().getTime()) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "活动已结束"); + } + // 校验用户是否有抽奖次数 + if (getLotteryNum(activityId, userId) <= 0) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "抽奖次数已经用完了"); + } + // 查询活动未中奖的号码 + List serialNumList = highActivityAwardSerialNumService.getNoGainListByActivity(activityId); + if (serialNumList.size() == 0) { + throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "奖励已经被抽完了"); + } + // 减去用户抽奖次数 + minusLotteryNum(activityId,userId); + + // 抽中的号码 + int index = (int) (Math.random() * serialNumList.size()); + HighActivityAwardSerialNum serialNum = serialNumList.get(index); + + // 领取奖品 + receivePrize(serialNum,userId); + return serialNum; + } + + /** + * 领取奖品 + */ + private void receivePrize(HighActivityAwardSerialNum serialNum, Long userId) { + serialNum.setStatus(2); + highActivityAwardSerialNumService.update(serialNum); + + // 查询中奖的奖品 + List prizeList = highActivityAwardActualPrizeService.getActualPrizeBySerialNumId(serialNum.getId()); + for (HighActivityAwardActualPrize actualPrize : prizeList) { + + // 实际奖品类型 1:卡券 2:优惠券 + if (actualPrize.getActualPrizeType() == 2) { + highDiscountUserRelService.receiveDiscount(userId,actualPrize.getActivityAwardPrizeId()); + } + + } + } + + @Override + public void addLotteryNum(Long activityId, Long userId, Integer num) { + HighActivityUserLotteryNum detail = getDetail(activityId, userId); + if (detail == null) { + detail = new HighActivityUserLotteryNum(); + detail.setActivityInfoId(activityId); + detail.setUserId(userId); + detail.setLotteryNum(num); + detail.setCreateTime(new Date()); + detail.setUpdateTime(new Date()); + highActivityUserLotteryNumMapper.insert(detail); + } else { + detail.setLotteryNum(detail.getLotteryNum() + num); + detail.setUpdateTime(new Date()); + highActivityUserLotteryNumMapper.updateByPrimaryKey(detail); + } + } + + @Override + public void minusLotteryNum(Long activityId, Long userId) { + HighActivityUserLotteryNum detail = getDetail(activityId, userId); + if (detail != null) { + detail.setLotteryNum(detail.getLotteryNum() - 1); + highActivityUserLotteryNumMapper.updateByPrimaryKeySelective(detail); + } + } + + @Override + public HighActivityUserLotteryNum getDetail(Long activityId, Long userId) { + HighActivityUserLotteryNumExample example = new HighActivityUserLotteryNumExample(); + example.createCriteria().andUserIdEqualTo(userId).andActivityInfoIdEqualTo(activityId); + List list = highActivityUserLotteryNumMapper.selectByExample(example); + if (list.size() > 0) { + return list.get(0); + } + return null; + } + + @Override + public Integer getLotteryNum(Long activityId, Long userId) { + HighActivityUserLotteryNum detail = getDetail(activityId, userId); + if (detail == null) { + return 0; + } + return detail.getLotteryNum(); + } + +}