完成用户抽奖

dev-discount
胡锐 3 years ago
parent f4670e7dc1
commit 76dab8f651
  1. 49
      hai-cweb/src/main/java/com/cweb/controller/HighActivityController.java
  2. 8
      hai-service/src/main/java/com/hai/dao/HighActivityAwardSerialNumMapper.java
  3. 8
      hai-service/src/main/java/com/hai/dao/HighActivityAwardSerialNumSqlProvider.java
  4. 114
      hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumMapper.java
  5. 7
      hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumMapperExt.java
  6. 290
      hai-service/src/main/java/com/hai/dao/HighActivityUserLotteryNumSqlProvider.java
  7. 6
      hai-service/src/main/java/com/hai/entity/HighActivityAwardSerialNum.java
  8. 20
      hai-service/src/main/java/com/hai/entity/HighActivityAwardSerialNumExample.java
  9. 184
      hai-service/src/main/java/com/hai/entity/HighActivityUserLotteryNum.java
  10. 793
      hai-service/src/main/java/com/hai/entity/HighActivityUserLotteryNumExample.java
  11. 19
      hai-service/src/main/java/com/hai/service/HighActivityAwardActualPrizeService.java
  12. 27
      hai-service/src/main/java/com/hai/service/HighActivityAwardSerialNumService.java
  13. 51
      hai-service/src/main/java/com/hai/service/HighActivityUserLotteryNumService.java
  14. 24
      hai-service/src/main/java/com/hai/service/impl/HighActivityAwardActualPrizeServiceImpl.java
  15. 29
      hai-service/src/main/java/com/hai/service/impl/HighActivityAwardSerialNumServiceImpl.java
  16. 142
      hai-service/src/main/java/com/hai/service/impl/HighActivityUserLotteryNumServiceImpl.java

@ -1,29 +1,34 @@
package com.cweb.controller; package com.cweb.controller;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo; 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.CoordCommonUtil;
import com.hai.common.utils.PageUtil; import com.hai.common.utils.PageUtil;
import com.hai.common.utils.ResponseMsgUtil; import com.hai.common.utils.ResponseMsgUtil;
import com.hai.entity.HighActivityAward; import com.hai.entity.*;
import com.hai.entity.HighActivityInfo; import com.hai.enum_type.ActivityInfoStatus;
import com.hai.entity.HighGasDiscountOilPrice; import com.hai.model.HighUserModel;
import com.hai.entity.SecRegion;
import com.hai.model.ResponseData; import com.hai.model.ResponseData;
import com.hai.service.HighActivityAwardService; import com.hai.service.HighActivityAwardService;
import com.hai.service.HighActivityInfoService; import com.hai.service.HighActivityInfoService;
import com.hai.service.HighActivityUserLotteryNumService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
/** /**
@ -37,12 +42,40 @@ public class HighActivityController {
private static Logger log = LoggerFactory.getLogger(HighActivityController.class); private static Logger log = LoggerFactory.getLogger(HighActivityController.class);
@Resource
private UserCenter userCenter;
@Resource @Resource
private HighActivityInfoService highActivityInfoService; private HighActivityInfoService highActivityInfoService;
@Resource @Resource
private HighActivityAwardService highActivityAwardService; 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) @RequestMapping(value="/getActivityByCoupon",method = RequestMethod.GET)
@ResponseBody @ResponseBody
@ApiOperation(value = "根据卡券查询活动信息") @ApiOperation(value = "根据卡券查询活动信息")

@ -43,7 +43,7 @@ public interface HighActivityAwardSerialNumMapper extends HighActivityAwardSeria
"serial_num, `status`, ", "serial_num, `status`, ",
"create_time, ext_1, ", "create_time, ext_1, ",
"ext_2, ext_3)", "ext_2, ext_3)",
"values (#{activityInfoId,jdbcType=INTEGER}, #{activityAwardId,jdbcType=BIGINT}, ", "values (#{activityInfoId,jdbcType=BIGINT}, #{activityAwardId,jdbcType=BIGINT}, ",
"#{serialNum,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, ", "#{serialNum,jdbcType=VARCHAR}, #{status,jdbcType=INTEGER}, ",
"#{createTime,jdbcType=TIMESTAMP}, #{ext1,jdbcType=VARCHAR}, ", "#{createTime,jdbcType=TIMESTAMP}, #{ext1,jdbcType=VARCHAR}, ",
"#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})" "#{ext2,jdbcType=VARCHAR}, #{ext3,jdbcType=VARCHAR})"
@ -58,7 +58,7 @@ public interface HighActivityAwardSerialNumMapper extends HighActivityAwardSeria
@SelectProvider(type=HighActivityAwardSerialNumSqlProvider.class, method="selectByExample") @SelectProvider(type=HighActivityAwardSerialNumSqlProvider.class, method="selectByExample")
@Results({ @Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @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="activity_award_id", property="activityAwardId", jdbcType=JdbcType.BIGINT),
@Result(column="serial_num", property="serialNum", jdbcType=JdbcType.VARCHAR), @Result(column="serial_num", property="serialNum", jdbcType=JdbcType.VARCHAR),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@ -78,7 +78,7 @@ public interface HighActivityAwardSerialNumMapper extends HighActivityAwardSeria
}) })
@Results({ @Results({
@Result(column="id", property="id", jdbcType=JdbcType.BIGINT, id=true), @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="activity_award_id", property="activityAwardId", jdbcType=JdbcType.BIGINT),
@Result(column="serial_num", property="serialNum", jdbcType=JdbcType.VARCHAR), @Result(column="serial_num", property="serialNum", jdbcType=JdbcType.VARCHAR),
@Result(column="status", property="status", jdbcType=JdbcType.INTEGER), @Result(column="status", property="status", jdbcType=JdbcType.INTEGER),
@ -100,7 +100,7 @@ public interface HighActivityAwardSerialNumMapper extends HighActivityAwardSeria
@Update({ @Update({
"update high_activity_award_serial_num", "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},", "activity_award_id = #{activityAwardId,jdbcType=BIGINT},",
"serial_num = #{serialNum,jdbcType=VARCHAR},", "serial_num = #{serialNum,jdbcType=VARCHAR},",
"`status` = #{status,jdbcType=INTEGER},", "`status` = #{status,jdbcType=INTEGER},",

@ -29,7 +29,7 @@ public class HighActivityAwardSerialNumSqlProvider {
sql.INSERT_INTO("high_activity_award_serial_num"); sql.INSERT_INTO("high_activity_award_serial_num");
if (record.getActivityInfoId() != null) { if (record.getActivityInfoId() != null) {
sql.VALUES("activity_info_id", "#{activityInfoId,jdbcType=INTEGER}"); sql.VALUES("activity_info_id", "#{activityInfoId,jdbcType=BIGINT}");
} }
if (record.getActivityAwardId() != null) { if (record.getActivityAwardId() != null) {
@ -100,7 +100,7 @@ public class HighActivityAwardSerialNumSqlProvider {
} }
if (record.getActivityInfoId() != null) { 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) { if (record.getActivityAwardId() != null) {
@ -140,7 +140,7 @@ public class HighActivityAwardSerialNumSqlProvider {
sql.UPDATE("high_activity_award_serial_num"); sql.UPDATE("high_activity_award_serial_num");
sql.SET("id = #{record.id,jdbcType=BIGINT}"); 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("activity_award_id = #{record.activityAwardId,jdbcType=BIGINT}");
sql.SET("serial_num = #{record.serialNum,jdbcType=VARCHAR}"); sql.SET("serial_num = #{record.serialNum,jdbcType=VARCHAR}");
sql.SET("`status` = #{record.status,jdbcType=INTEGER}"); sql.SET("`status` = #{record.status,jdbcType=INTEGER}");
@ -159,7 +159,7 @@ public class HighActivityAwardSerialNumSqlProvider {
sql.UPDATE("high_activity_award_serial_num"); sql.UPDATE("high_activity_award_serial_num");
if (record.getActivityInfoId() != null) { if (record.getActivityInfoId() != null) {
sql.SET("activity_info_id = #{activityInfoId,jdbcType=INTEGER}"); sql.SET("activity_info_id = #{activityInfoId,jdbcType=BIGINT}");
} }
if (record.getActivityAwardId() != null) { if (record.getActivityAwardId() != null) {

@ -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<HighActivityUserLotteryNum> 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);
}

@ -0,0 +1,7 @@
package com.hai.dao;
/**
* mapper扩展类
*/
public interface HighActivityUserLotteryNumMapperExt {
}

@ -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<String, Object> 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<String, Object> 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<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());
}
}
}

@ -21,7 +21,7 @@ public class HighActivityAwardSerialNum implements Serializable {
/** /**
* 活动信息id * 活动信息id
*/ */
private Integer activityInfoId; private Long activityInfoId;
/** /**
* 活动奖励id * 活动奖励id
@ -59,11 +59,11 @@ public class HighActivityAwardSerialNum implements Serializable {
this.id = id; this.id = id;
} }
public Integer getActivityInfoId() { public Long getActivityInfoId() {
return activityInfoId; return activityInfoId;
} }
public void setActivityInfoId(Integer activityInfoId) { public void setActivityInfoId(Long activityInfoId) {
this.activityInfoId = activityInfoId; this.activityInfoId = activityInfoId;
} }

@ -195,52 +195,52 @@ public class HighActivityAwardSerialNumExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andActivityInfoIdEqualTo(Integer value) { public Criteria andActivityInfoIdEqualTo(Long value) {
addCriterion("activity_info_id =", value, "activityInfoId"); addCriterion("activity_info_id =", value, "activityInfoId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andActivityInfoIdNotEqualTo(Integer value) { public Criteria andActivityInfoIdNotEqualTo(Long value) {
addCriterion("activity_info_id <>", value, "activityInfoId"); addCriterion("activity_info_id <>", value, "activityInfoId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andActivityInfoIdGreaterThan(Integer value) { public Criteria andActivityInfoIdGreaterThan(Long value) {
addCriterion("activity_info_id >", value, "activityInfoId"); addCriterion("activity_info_id >", value, "activityInfoId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andActivityInfoIdGreaterThanOrEqualTo(Integer value) { public Criteria andActivityInfoIdGreaterThanOrEqualTo(Long value) {
addCriterion("activity_info_id >=", value, "activityInfoId"); addCriterion("activity_info_id >=", value, "activityInfoId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andActivityInfoIdLessThan(Integer value) { public Criteria andActivityInfoIdLessThan(Long value) {
addCriterion("activity_info_id <", value, "activityInfoId"); addCriterion("activity_info_id <", value, "activityInfoId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andActivityInfoIdLessThanOrEqualTo(Integer value) { public Criteria andActivityInfoIdLessThanOrEqualTo(Long value) {
addCriterion("activity_info_id <=", value, "activityInfoId"); addCriterion("activity_info_id <=", value, "activityInfoId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andActivityInfoIdIn(List<Integer> values) { public Criteria andActivityInfoIdIn(List<Long> values) {
addCriterion("activity_info_id in", values, "activityInfoId"); addCriterion("activity_info_id in", values, "activityInfoId");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andActivityInfoIdNotIn(List<Integer> values) { public Criteria andActivityInfoIdNotIn(List<Long> values) {
addCriterion("activity_info_id not in", values, "activityInfoId"); addCriterion("activity_info_id not in", values, "activityInfoId");
return (Criteria) this; 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"); addCriterion("activity_info_id between", value1, value2, "activityInfoId");
return (Criteria) this; 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"); addCriterion("activity_info_id not between", value1, value2, "activityInfoId");
return (Criteria) this; return (Criteria) this;
} }

@ -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();
}
}

@ -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<Criteria> oredCriteria;
private Integer limit;
private Long offset;
public HighActivityUserLotteryNumExample() {
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 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<Long> values) {
addCriterion("activity_info_id in", values, "activityInfoId");
return (Criteria) this;
}
public Criteria andActivityInfoIdNotIn(List<Long> 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<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 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<Integer> values) {
addCriterion("lottery_num in", values, "lotteryNum");
return (Criteria) this;
}
public Criteria andLotteryNumNotIn(List<Integer> 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<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,19 @@
package com.hai.service;
import com.hai.entity.HighActivityAwardActualPrize;
import java.util.List;
/**
*
* @author hurui
*/
public interface HighActivityAwardActualPrizeService {
/**
* 根据奖励编号 查询实际奖品
* @param serialNumId 奖励编号id
* @return
*/
List<HighActivityAwardActualPrize> getActualPrizeBySerialNumId(Long serialNumId);
}

@ -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<HighActivityAwardSerialNum> getNoGainListByActivity(Long activityId);
}

@ -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);
}

@ -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<HighActivityAwardActualPrize> getActualPrizeBySerialNumId(Long serialNumId) {
HighActivityAwardActualPrizeExample example = new HighActivityAwardActualPrizeExample();
example.createCriteria().andActivityAwardSerialNumIdEqualTo(serialNumId).andStatusEqualTo(1);
return highActivityAwardActualPrizeMapper.selectByExample(example);
}
}

@ -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<HighActivityAwardSerialNum> getNoGainListByActivity(Long activityId) {
HighActivityAwardSerialNumExample example = new HighActivityAwardSerialNumExample();
example.createCriteria().andActivityInfoIdEqualTo(activityId).andStatusEqualTo(1);
return highActivityAwardSerialNumMapper.selectByExample(example);
}
}

@ -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<HighActivityAwardSerialNum> 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<HighActivityAwardActualPrize> 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<HighActivityUserLotteryNum> 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();
}
}
Loading…
Cancel
Save