幸运数字-领取和轮次结果
This commit is contained in:
@@ -20,6 +20,7 @@ public class LuckyNumberActInputRecord {
|
||||
@TableField(typeHandler = IntegerListTypeHandler.class)
|
||||
private List<Integer> numberList;
|
||||
private Byte luckyStatus;
|
||||
private BigDecimal output;
|
||||
private Date createTime;
|
||||
private Date updateTime;
|
||||
|
||||
|
@@ -0,0 +1,29 @@
|
||||
package com.accompany.business.vo.activity;
|
||||
|
||||
import com.accompany.core.vo.UserVo;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ApiModel
|
||||
public class LuckyNumberActRoundHistoryDetailVo extends LuckyNumberActRoundHistoryVo {
|
||||
|
||||
@ApiModelProperty("状态(-1=过期,0=没有,1=已领取")
|
||||
private Byte status;
|
||||
@ApiModelProperty("用户奖励")
|
||||
private BigDecimal jackpot;
|
||||
|
||||
@ApiModelProperty("已领取用户列表")
|
||||
private List<ReceiverVo> receiverList;
|
||||
|
||||
@Data
|
||||
public static class ReceiverVo extends UserVo {
|
||||
private String receiveTime;
|
||||
private BigDecimal jackpot;
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,20 @@
|
||||
package com.accompany.business.vo.activity;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@ApiModel
|
||||
public class LuckyNumberActRoundHistoryVo {
|
||||
|
||||
@ApiModelProperty(value = "日期")
|
||||
private String date;
|
||||
@ApiModelProperty(value = "分区id")
|
||||
private Integer partitionId;
|
||||
@ApiModelProperty(value = "幸运号码")
|
||||
private Integer luckyNumber;
|
||||
@ApiModelProperty(value = "结束时间")
|
||||
private String endTime;
|
||||
|
||||
}
|
@@ -0,0 +1,25 @@
|
||||
package com.accompany.business.vo.activity;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ApiModel
|
||||
public class LuckyNumberActRoundInputVo {
|
||||
|
||||
@ApiModelProperty(value = "日期")
|
||||
private String date;
|
||||
@ApiModelProperty(value = "幸运号码")
|
||||
private Integer luckyNumber;
|
||||
@ApiModelProperty(value = "开奖时间")
|
||||
private String endTime;
|
||||
@ApiModelProperty(value = "我的幸运号码列表")
|
||||
private List<Integer> numberList;
|
||||
//@ApiModelProperty(value = "状态(-1=没中、0=未结算、1=可领、2=已领取、3=过期)")
|
||||
@ApiModelProperty(value = "状态(-1=过期、0=没中or已领、1=可领)")
|
||||
private Byte status;
|
||||
|
||||
}
|
@@ -13,11 +13,20 @@ public class LuckyNumberActRoundVo {
|
||||
|
||||
@ApiModelProperty(value = "日期")
|
||||
private String date;
|
||||
@ApiModelProperty(value = "分区id")
|
||||
private Integer partitionId;
|
||||
@ApiModelProperty(value = "幸运号码")
|
||||
@ApiModelProperty(value = "参与玩家数量")
|
||||
private Integer playerNum;
|
||||
|
||||
private Long uid;
|
||||
@ApiModelProperty(value = "玩家本轮投入号码")
|
||||
private List<Integer> numberList;
|
||||
|
||||
@ApiModelProperty(value = "活动状态(0=可投入、1=停止投入原地等待、2=结果展示)")
|
||||
private Byte status;
|
||||
@ApiModelProperty(value = "倒计时秒数")
|
||||
private Long countDownSecond;
|
||||
@ApiModelProperty(value = "中奖号码")
|
||||
private Integer luckyNumber;
|
||||
@ApiModelProperty(value = "结束时间")
|
||||
private String endTime;
|
||||
@ApiModelProperty(value = "投入")
|
||||
private BigDecimal price;
|
||||
|
||||
}
|
||||
|
@@ -1,32 +0,0 @@
|
||||
package com.accompany.business.vo.activity;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@ApiModel
|
||||
public class LuckyNumberActVo {
|
||||
|
||||
@ApiModelProperty(value = "日期")
|
||||
private String date;
|
||||
@ApiModelProperty(value = "参与玩家数量")
|
||||
private Integer playerNum;
|
||||
|
||||
private Long uid;
|
||||
@ApiModelProperty(value = "玩家本轮投入号码")
|
||||
private List<Integer> numberList;
|
||||
|
||||
@ApiModelProperty(value = "活动状态(0=可投入、1=停止投入原地等待、2=结果展示)")
|
||||
private Byte status;
|
||||
@ApiModelProperty(value = "倒计时秒数")
|
||||
private Long countDownSecond;
|
||||
@ApiModelProperty(value = "中奖号码")
|
||||
private Integer luckyNumber;
|
||||
@ApiModelProperty(value = "投入")
|
||||
private BigDecimal price;
|
||||
|
||||
}
|
@@ -3,16 +3,18 @@ package com.accompany.business.service.activity;
|
||||
|
||||
import com.accompany.business.model.activity.LuckyNumberActInputRecord;
|
||||
import com.accompany.business.mybatismapper.activity.LuckyNumberActInputRecordMapper;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@@ -33,4 +35,32 @@ public class LuckyNumberActPlayerRecordService extends ServiceImpl<LuckyNumberAc
|
||||
inputRecord.getNumberList();
|
||||
}
|
||||
|
||||
public void pageHistory(Page<LuckyNumberActInputRecord> page, Long uid, Integer partitionId) {
|
||||
this.baseMapper.selectPage(page, Wrappers.<LuckyNumberActInputRecord>lambdaQuery()
|
||||
.eq(LuckyNumberActInputRecord::getUid, uid)
|
||||
.eq(LuckyNumberActInputRecord::getPartitionId, partitionId)
|
||||
.ne(LuckyNumberActInputRecord::getLuckyStatus, Constant.StatusV2.invalid)
|
||||
.orderByDesc(LuckyNumberActInputRecord::getDate));
|
||||
}
|
||||
|
||||
public BigDecimal getJackpot(String date, Long uid, Integer partitionId) {
|
||||
LuckyNumberActInputRecord inputRecord = getOne(Wrappers.<LuckyNumberActInputRecord>lambdaQuery()
|
||||
.select(LuckyNumberActInputRecord::getNumberList)
|
||||
.eq(LuckyNumberActInputRecord::getDate, date)
|
||||
.eq(LuckyNumberActInputRecord::getUid, uid)
|
||||
.eq(LuckyNumberActInputRecord::getPartitionId, partitionId), false);
|
||||
if (null == inputRecord || !inputRecord.getLuckyStatus().equals(Constant.StatusV2.valid)){
|
||||
throw new ServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
boolean success = update(Wrappers.<LuckyNumberActInputRecord>lambdaUpdate()
|
||||
.set(LuckyNumberActInputRecord::getLuckyStatus, Constant.status.invalid)
|
||||
.eq(LuckyNumberActInputRecord::getDate, date)
|
||||
.eq(LuckyNumberActInputRecord::getUid, uid)
|
||||
.eq(LuckyNumberActInputRecord::getPartitionId, partitionId)
|
||||
.eq(LuckyNumberActInputRecord::getLuckyStatus, Constant.StatusV2.valid));
|
||||
if (!success){
|
||||
throw new ServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
return inputRecord.getOutput();
|
||||
}
|
||||
}
|
||||
|
@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@@ -48,4 +50,11 @@ public class LuckyNumberActRoundService extends ServiceImpl<LuckyNumberActRoundM
|
||||
baseMapper.updateJackpot(roundId, partitionId, input);
|
||||
}
|
||||
|
||||
public Map<String, LuckyNumberActRound> mapHistoryRoundInDate(List<String> dateList, Integer partitionId) {
|
||||
return baseMapper.selectList(Wrappers.<LuckyNumberActRound>lambdaQuery()
|
||||
.in(LuckyNumberActRound::getDate, dateList)
|
||||
.eq(LuckyNumberActRound::getPartitionId, partitionId))
|
||||
.stream()
|
||||
.collect(Collectors.toMap(LuckyNumberActRound::getDate, v -> v));
|
||||
}
|
||||
}
|
||||
|
@@ -2,12 +2,15 @@
|
||||
package com.accompany.business.service.activity;
|
||||
|
||||
import com.accompany.business.dto.activity.LuckyNumberActConfig;
|
||||
import com.accompany.business.model.activity.LuckyNumberActInputRecord;
|
||||
import com.accompany.business.model.activity.LuckyNumberActRound;
|
||||
import com.accompany.business.service.purse.UserPurseService;
|
||||
import com.accompany.business.service.record.BillRecordService;
|
||||
import com.accompany.business.service.user.UsersService;
|
||||
import com.accompany.business.vo.activity.LuckyNumberActRoundHistoryDetailVo;
|
||||
import com.accompany.business.vo.activity.LuckyNumberActRoundHistoryVo;
|
||||
import com.accompany.business.vo.activity.LuckyNumberActRoundInputVo;
|
||||
import com.accompany.business.vo.activity.LuckyNumberActRoundVo;
|
||||
import com.accompany.business.vo.activity.LuckyNumberActVo;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
@@ -16,11 +19,15 @@ import com.accompany.core.enumeration.PartitionEnum;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.model.Users;
|
||||
import com.accompany.core.service.SysConfService;
|
||||
import com.accompany.core.vo.UserVo;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
@@ -29,6 +36,8 @@ import java.math.RoundingMode;
|
||||
import java.time.*;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
@@ -48,7 +57,7 @@ public class LuckyNumberActService {
|
||||
@Autowired
|
||||
private LuckyNumberActPlayerRecordService playerRecordService;
|
||||
|
||||
public LuckyNumberActVo getConfigVo(Long uid) {
|
||||
public LuckyNumberActRoundVo getRoundVo(Long uid) {
|
||||
Users u = usersService.getNotNullUsersByUid(uid);
|
||||
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(u.getPartitionId());
|
||||
ZonedDateTime now = DateTimeUtil.getDateTimeByZoneId(partitionEnum.getZoneId());
|
||||
@@ -70,7 +79,7 @@ public class LuckyNumberActService {
|
||||
|
||||
long countDownSecond = status != Constant.status.valid? Duration.between(now, roundEndTime).getSeconds(): 0L;
|
||||
|
||||
LuckyNumberActVo vo = new LuckyNumberActVo();
|
||||
LuckyNumberActRoundVo vo = new LuckyNumberActRoundVo();
|
||||
vo.setUid(uid);
|
||||
vo.setDate(date);
|
||||
vo.setStatus(status);
|
||||
@@ -82,6 +91,63 @@ public class LuckyNumberActService {
|
||||
return vo;
|
||||
}
|
||||
|
||||
public List<LuckyNumberActRoundHistoryVo> listHistoryRound(Long uid) {
|
||||
Users u = usersService.getNotNullUsersByUid(uid);
|
||||
|
||||
Page<LuckyNumberActRound> page = new Page<>(1, 30);
|
||||
roundService.pageHistory(page, u.getPartitionId());
|
||||
|
||||
if (CollectionUtils.isEmpty(page.getRecords())){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
return page.getRecords().stream().map(round -> {
|
||||
LuckyNumberActRoundHistoryVo vo = new LuckyNumberActRoundHistoryVo();
|
||||
vo.setDate(round.getDate());
|
||||
vo.setPartitionId(round.getPartitionId());
|
||||
vo.setLuckyNumber(round.getLuckyNumber());
|
||||
|
||||
ZonedDateTime zdt = ZonedDateTime.parse(round.getEndTime(), DateTimeUtil.zoneDatetimeFormatter);
|
||||
vo.setEndTime(zdt.format(DateTimeUtil.dateHourFormatter));
|
||||
|
||||
return vo;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public List<LuckyNumberActRoundInputVo> listHistoryInput(Long uid) {
|
||||
Users u = usersService.getNotNullUsersByUid(uid);
|
||||
|
||||
Page<LuckyNumberActInputRecord> page = new Page<>(1, 30);
|
||||
playerRecordService.pageHistory(page, uid, u.getPartitionId());
|
||||
|
||||
if (CollectionUtils.isEmpty(page.getRecords())){
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
List<String> dateList = page.getRecords().stream().map(LuckyNumberActInputRecord::getDate).distinct().sorted().collect(Collectors.toList());
|
||||
Map<String, LuckyNumberActRound> roundMap = roundService.mapHistoryRoundInDate(dateList, u.getPartitionId());
|
||||
|
||||
return page.getRecords().stream().map(record -> {
|
||||
LuckyNumberActRound round = roundMap.get(record.getDate());
|
||||
if (round == null){
|
||||
return null;
|
||||
}
|
||||
|
||||
LuckyNumberActRoundInputVo vo = new LuckyNumberActRoundInputVo();
|
||||
vo.setDate(record.getDate());
|
||||
vo.setEndTime(round.getEndTime());
|
||||
vo.setLuckyNumber(round.getLuckyNumber());
|
||||
vo.setNumberList(record.getNumberList());
|
||||
|
||||
byte status = Constant.status.valid.equals(record.getLuckyStatus()) ?
|
||||
record.getLuckyStatus():
|
||||
Constant.StatusV2.valid + Constant.status.invalid == record.getLuckyStatus()?
|
||||
Constant.StatusV2.delete: Constant.StatusV2.invalid;
|
||||
vo.setStatus(status);
|
||||
return vo;
|
||||
}).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public void input(Long uid, Integer number){
|
||||
if (number <= 0 || number >= 100){
|
||||
throw new ServiceException(BusiStatus.PARAMERROR);
|
||||
@@ -105,7 +171,7 @@ public class LuckyNumberActService {
|
||||
|
||||
double price = config.getPrice().doubleValue();
|
||||
userPurseService.subDiamond(uid, price, BillObjTypeEnum.LUCKY_NUM_JACKPOT_INPUT_GOLD, (userPurse) -> {
|
||||
String objId = String.join("_", roundDate, number.toString());
|
||||
String objId = String.join("_", roundDate, uid.toString(), u.getPartitionId().toString(), number.toString());
|
||||
billRecordService.insertGeneralBillRecord(uid, objId, BillObjTypeEnum.LUCKY_NUM_JACKPOT_INPUT_GOLD, price, userPurse);
|
||||
});
|
||||
|
||||
@@ -115,27 +181,78 @@ public class LuckyNumberActService {
|
||||
roundService.updateJackpot(roundDate, u.getPartitionId(), input);
|
||||
}
|
||||
|
||||
public List<LuckyNumberActRoundVo> listHistory(Long uid) {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void getJackpot(Long uid, String date) {
|
||||
Users u = usersService.getNotNullUsersByUid(uid);
|
||||
BigDecimal jackpot = playerRecordService.getJackpot(date, uid, u.getPartitionId());
|
||||
|
||||
Page<LuckyNumberActRound> page = new Page<>(1, 15);
|
||||
roundService.pageHistory(page, u.getPartitionId());
|
||||
double output = jackpot.doubleValue();
|
||||
userPurseService.addDiamond(uid, output, BillObjTypeEnum.LUCKY_NUM_JACKPOT_OUTPUT_GOLD, (userPurse) -> {
|
||||
String objId = String.join("_", date, uid.toString(), u.getPartitionId().toString());
|
||||
billRecordService.insertGeneralBillRecord(uid, objId, BillObjTypeEnum.LUCKY_NUM_JACKPOT_OUTPUT_GOLD, output, userPurse);
|
||||
});
|
||||
}
|
||||
|
||||
if (CollectionUtils.isEmpty(page.getRecords())){
|
||||
return Collections.emptyList();
|
||||
public LuckyNumberActRoundHistoryDetailVo getHistoryRoundDetail(Long uid, String date) {
|
||||
Users u = usersService.getNotNullUsersByUid(uid);
|
||||
PartitionEnum partitionEnum = PartitionEnum.getByPartitionId(u.getPartitionId());
|
||||
|
||||
LuckyNumberActRound round = roundService.getByDate(date, u.getPartitionId());
|
||||
if (null == round || null == round.getLuckyNumber()){
|
||||
throw new ServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
|
||||
return page.getRecords().stream().map(round -> {
|
||||
LuckyNumberActRoundVo vo = new LuckyNumberActRoundVo();
|
||||
vo.setDate(round.getDate());
|
||||
vo.setPartitionId(round.getPartitionId());
|
||||
vo.setLuckyNumber(round.getLuckyNumber());
|
||||
LuckyNumberActInputRecord meRecord = playerRecordService.getOne(Wrappers.<LuckyNumberActInputRecord>lambdaQuery()
|
||||
.eq(LuckyNumberActInputRecord::getDate, date)
|
||||
.eq(LuckyNumberActInputRecord::getUid, uid)
|
||||
.eq(LuckyNumberActInputRecord::getPartitionId, u.getPartitionId()));
|
||||
if (null == meRecord){
|
||||
throw new ServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
|
||||
ZonedDateTime zdt = ZonedDateTime.parse(round.getEndTime(), DateTimeUtil.zoneDatetimeFormatter);
|
||||
vo.setEndTime(zdt.format(DateTimeUtil.dateHourFormatter));
|
||||
List<LuckyNumberActInputRecord> receiverRecordList = playerRecordService.list(Wrappers.<LuckyNumberActInputRecord>lambdaQuery()
|
||||
.eq(LuckyNumberActInputRecord::getDate, date)
|
||||
.eq(LuckyNumberActInputRecord::getPartitionId, u.getPartitionId())
|
||||
.eq(LuckyNumberActInputRecord::getLuckyStatus, Constant.status.invalid)
|
||||
.orderByAsc(LuckyNumberActInputRecord::getUpdateTime));
|
||||
|
||||
LuckyNumberActRoundHistoryDetailVo vo = new LuckyNumberActRoundHistoryDetailVo();
|
||||
vo.setDate(round.getDate());
|
||||
vo.setPartitionId(round.getPartitionId());
|
||||
|
||||
Byte status = Constant.status.invalid.equals(meRecord.getLuckyStatus()) ?
|
||||
Constant.StatusV2.valid:
|
||||
Constant.StatusV2.valid + Constant.status.invalid == meRecord.getLuckyStatus()?
|
||||
Constant.StatusV2.delete: Constant.StatusV2.invalid;
|
||||
vo.setStatus(status);
|
||||
vo.setJackpot(round.getJackpot());
|
||||
|
||||
if (CollectionUtils.isEmpty(receiverRecordList)){
|
||||
return vo;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
List<Long> uidList = receiverRecordList.stream().map(LuckyNumberActInputRecord::getUid).sorted().collect(Collectors.toList());
|
||||
Map<Long, UserVo> userVoMap = usersService.getUsersVoListByUids(uidList).stream().collect(Collectors.toMap(UserVo::getUid, userVo -> userVo));
|
||||
|
||||
List<LuckyNumberActRoundHistoryDetailVo.ReceiverVo> receiverVoList = receiverRecordList.stream().map(record -> {
|
||||
|
||||
UserVo userVo = userVoMap.get(record.getUid());
|
||||
if (null == userVo){
|
||||
return null;
|
||||
}
|
||||
|
||||
LuckyNumberActRoundHistoryDetailVo.ReceiverVo receiverVo = new LuckyNumberActRoundHistoryDetailVo.ReceiverVo();
|
||||
BeanUtils.copyProperties(userVo, receiverVo);
|
||||
receiverVo.setJackpot(record.getOutput());
|
||||
|
||||
ZonedDateTime zdt = DateTimeUtil.convertWithZoneId(record.getUpdateTime(), partitionEnum.getZoneId());
|
||||
receiverVo.setReceiveTime(zdt.format(DateTimeUtil.datetimeFormatter));
|
||||
return receiverVo;
|
||||
|
||||
}).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
vo.setReceiverList(receiverVoList);
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
private LuckyNumberActConfig getConfig() {
|
||||
|
@@ -3,8 +3,8 @@
|
||||
<mapper namespace="com.accompany.business.mybatismapper.activity.LuckyNumberActInputRecordMapper">
|
||||
|
||||
<update id="saveRecord">
|
||||
insert into lucky_number_act_input_record(date, uid, partition_id, `input`, number_list, lucky_status, create_time, update_time)
|
||||
values(#{date}, #{uid}, #{partitionId}, #{input}, JSON_ARRAY(#{number}), 0, now(), now())
|
||||
insert into lucky_number_act_input_record(date, uid, partition_id, `input`, number_list, lucky_status, `output`, create_time, update_time)
|
||||
values(#{date}, #{uid}, #{partitionId}, #{input}, JSON_ARRAY(#{number}), 0, 0, now(), now())
|
||||
on duplicate key update
|
||||
`input` = input + values(`input`),
|
||||
number_list = JSON_ARRAY_APPEND(number_list, '$', #{number}),
|
||||
|
@@ -1,8 +1,10 @@
|
||||
package com.accompany.business.controller.activity;
|
||||
|
||||
import com.accompany.business.service.activity.LuckyNumberActService;
|
||||
import com.accompany.business.vo.activity.LuckyNumberActRoundHistoryDetailVo;
|
||||
import com.accompany.business.vo.activity.LuckyNumberActRoundHistoryVo;
|
||||
import com.accompany.business.vo.activity.LuckyNumberActRoundInputVo;
|
||||
import com.accompany.business.vo.activity.LuckyNumberActRoundVo;
|
||||
import com.accompany.business.vo.activity.LuckyNumberActVo;
|
||||
import com.accompany.common.annotation.Authorization;
|
||||
import com.accompany.common.result.BusiResult;
|
||||
import com.accompany.common.status.BusiStatus;
|
||||
@@ -12,6 +14,7 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@@ -30,13 +33,22 @@ public class LuckyNumberActController {
|
||||
|
||||
@ApiOperation(value = "获取活动首页")
|
||||
@Authorization
|
||||
@GetMapping(value = "/getConfig")
|
||||
public BusiResult<LuckyNumberActVo> getWeekStarList(){
|
||||
@GetMapping(value = "/getRound")
|
||||
public BusiResult<LuckyNumberActRoundVo> getRound(){
|
||||
Long uid = UidContextHolder.get();
|
||||
LuckyNumberActVo vo = actService.getConfigVo(uid);
|
||||
LuckyNumberActRoundVo vo = actService.getRoundVo(uid);
|
||||
return BusiResult.success(vo);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "历史轮次")
|
||||
@Authorization
|
||||
@PostMapping(value = "/listHistoryRound")
|
||||
public BusiResult<List<LuckyNumberActRoundHistoryVo>> listHistoryRound(){
|
||||
Long uid = UidContextHolder.get();
|
||||
List<LuckyNumberActRoundHistoryVo> roundList = actService.listHistoryRound(uid);
|
||||
return BusiResult.success(roundList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "投入")
|
||||
@Authorization
|
||||
@PostMapping(value = "/input")
|
||||
@@ -50,13 +62,39 @@ public class LuckyNumberActController {
|
||||
return BusiResult.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "历史轮次")
|
||||
@ApiOperation(value = "我的历史")
|
||||
@Authorization
|
||||
@PostMapping(value = "/listHistory")
|
||||
public BusiResult<List<LuckyNumberActRoundVo>> listHistory(){
|
||||
@PostMapping(value = "/listHistoryInput")
|
||||
public BusiResult<List<LuckyNumberActRoundInputVo>> listHistoryInput(){
|
||||
Long uid = UidContextHolder.get();
|
||||
List<LuckyNumberActRoundVo> roundList = actService.listHistory(uid);
|
||||
return BusiResult.success(roundList);
|
||||
List<LuckyNumberActRoundInputVo> historyInputList = actService.listHistoryInput(uid);
|
||||
return BusiResult.success(historyInputList);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "领取")
|
||||
@Authorization
|
||||
@PostMapping(value = "/getJackpot")
|
||||
public BusiResult<Void> getJackpot(String date){
|
||||
if (!StringUtils.hasText(date)){
|
||||
throw new ServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
|
||||
Long uid = UidContextHolder.get();
|
||||
actService.getJackpot(uid, date);
|
||||
return BusiResult.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "历史轮次详情")
|
||||
@Authorization
|
||||
@PostMapping(value = "/getHistoryRoundDetail")
|
||||
public BusiResult<LuckyNumberActRoundHistoryDetailVo> getHistoryRoundDetail(String date){
|
||||
if (!StringUtils.hasText(date)){
|
||||
throw new ServiceException(BusiStatus.PARAMERROR);
|
||||
}
|
||||
|
||||
Long uid = UidContextHolder.get();
|
||||
LuckyNumberActRoundHistoryDetailVo detailVo = actService.getHistoryRoundDetail(uid, date);
|
||||
return BusiResult.success(detailVo);
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user