提交 b5457811 编写于 作者: 夏天。。's avatar 夏天。。

前台签到部分接口

上级 d7be668a
......@@ -5,9 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.*;
import java.io.Serializable;
import java.util.Date;
......@@ -25,6 +23,8 @@ import java.util.Date;
@TableName("ums_reward")
@ApiModel(value="UmsReward对象", description="")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class UmsReward implements Serializable {
private static final long serialVersionUID=1L;
......
......@@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.Date;
/**
......@@ -29,9 +30,11 @@ public class RewardVo {
@NotNull(message = "奖励类型不能为空")
@ApiModelProperty("奖励类型 0积分 1邮票")
@Pattern(regexp = "[1|0]")
private Integer type;
@NotEmpty(message = "奖励描述不能为空")
@Length(min = 1,max = 255,message = "长度不能超过255位")
@ApiModelProperty("奖励描述")
private String description;
......
......@@ -3,6 +3,7 @@ package com.mobius.modules.ums.controller;
import com.mobius.common.api.CommonResult;
import com.mobius.common.api.ResultCode;
import com.mobius.modules.ums.dto.CheckDto;
import com.mobius.modules.ums.model.UmsCheck;
import com.mobius.modules.ums.service.UmsCheckService;
import io.swagger.annotations.Api;
......@@ -31,7 +32,7 @@ public class UmsCheckController {
@GetMapping("/day")
@ApiOperation("获取当天签到")
public CommonResult getDailyCheck(){
UmsCheck dailyCheck = checkService.getDailyCheck();
CheckDto dailyCheck = checkService.getDailyCheck();
return CommonResult.success(dailyCheck);
}
......
package com.mobius.modules.ums.dto;
import com.mobius.modules.ums.model.UmsReward;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
/**
* @Author: hocztms
* @Description:
* @Date Created in 2022-06-16-23:11
* @Modified By:
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CheckDto {
private Integer id;
private Date validTime;
List<UmsReward> rewards;
}
......@@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
......@@ -23,6 +25,8 @@ import java.util.Date;
@EqualsAndHashCode(callSuper = false)
@TableName("ums_check")
@ApiModel(value="UmsCheck对象", description="")
@AllArgsConstructor
@NoArgsConstructor
public class UmsCheck implements Serializable {
private static final long serialVersionUID=1L;
......
......@@ -2,6 +2,7 @@ package com.mobius.modules.ums.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mobius.common.api.CommonResult;
import com.mobius.modules.ums.dto.CheckDto;
import com.mobius.modules.ums.model.UmsCheck;
import java.util.Date;
......@@ -19,10 +20,11 @@ public interface UmsCheckService extends IService<UmsCheck> {
CommonResult userCheck();
void loadDailyCheck(UmsCheck check);
void loadDailyCheck(CheckDto check);
UmsCheck getCheckByValidDate(Date date);
UmsCheck getDailyCheck();
CheckDto getDailyCheck();
CheckDto getCheckDto(UmsCheck check);
}
package com.mobius.modules.ums.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mobius.common.api.CommonResult;
import com.mobius.common.api.ResultCode;
import com.mobius.common.service.RedisService;
import com.mobius.common.util.DateUtils;
import com.mobius.modules.ums.dto.CheckDto;
import com.mobius.modules.ums.mapper.UmsCheckMapper;
import com.mobius.modules.ums.model.UmsCheck;
import com.mobius.modules.ums.model.UmsReward;
import com.mobius.modules.ums.service.UmsCheckService;
import com.mobius.modules.ums.service.UmsRewardService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
......@@ -23,6 +30,7 @@ import java.util.List;
* @since 2022-06-16
*/
@Service
@Slf4j
public class UmsCheckServiceImpl extends ServiceImpl<UmsCheckMapper, UmsCheck> implements UmsCheckService {
private final static String CHECK = "check$daily";
......@@ -30,15 +38,24 @@ public class UmsCheckServiceImpl extends ServiceImpl<UmsCheckMapper, UmsCheck> i
private UmsCheckMapper checkMapper;
@Autowired
private RedisService redisService;
@Autowired
private UmsRewardService rewardService;
@Override
public CommonResult userCheck() {
return null;
public void loadDailyCheck(CheckDto check) {
redisService.set(CHECK,check);
}
@Override
public void loadDailyCheck(UmsCheck check) {
redisService.set(CHECK,check);
public CommonResult userCheck() {
CheckDto dailyCheck = getDailyCheck();
if (dailyCheck!=null){
}
return CommonResult.success(ResultCode.SUCCESS);
}
......@@ -46,16 +63,37 @@ public class UmsCheckServiceImpl extends ServiceImpl<UmsCheckMapper, UmsCheck> i
public UmsCheck getCheckByValidDate(Date date) {
QueryWrapper<UmsCheck> wrapper = new QueryWrapper<>();
wrapper.eq("valid_time",DateUtils.getZeroTime(date));
log.info(DateUtils.getZeroTime(date).toString());
return checkMapper.selectOne(wrapper);
}
@Override
public UmsCheck getDailyCheck() {
UmsCheck check = (UmsCheck)redisService.get(CHECK);
if (check==null){
check = getCheckByValidDate(new Date());
loadDailyCheck(check);
public CheckDto getDailyCheck() {
CheckDto checkDto = (CheckDto) redisService.get(CHECK);
if (checkDto==null){
UmsCheck check = getCheckByValidDate(new Date());
checkDto = getCheckDto(check);
loadDailyCheck(checkDto);
}
return checkDto;
}
@Override
public CheckDto getCheckDto(UmsCheck check) {
List<Integer> ids = JSONObject.parseArray(check.getRewards(),Integer.class);
List<UmsReward> rewards = new ArrayList<>();
for (Integer id:ids){
UmsReward byId = rewardService.getById(id);
if (byId!=null){
rewards.add(byId);
}
}
return check;
return new CheckDto(check.getId(),check.getValidTime(),rewards);
}
}
......@@ -70,6 +70,7 @@ secure:
- /static/qrcode/**
- /wx/**
- /code/**
- /check/**
com.mobius: debug
sms:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册