...
 
Commits (5)
    https://gitcode.net/SoftwareEngineering2022ClassW/mobius/mobius-system/-/commit/e85154b8b4934a722c17c53f04d26f9a9a78d3b9 创建签到 2022-06-16T16:01:13+08:00 221900210 czj_1111@126.com https://gitcode.net/SoftwareEngineering2022ClassW/mobius/mobius-system/-/commit/0ad8f29a616f9337bb23390f0d8b764ef4a1d7d9 Merge branch 'hoc-feature' 2022-06-16T17:11:05+08:00 夏天。。 1107578936@qq.com # Conflicts: # mobius-admin/src/main/java/com/mobius/modules/ums/service/UmsCheckService.java # mobius-admin/src/main/java/com/mobius/modules/ums/service/impl/UmsCheckServiceImpl.java https://gitcode.net/SoftwareEngineering2022ClassW/mobius/mobius-system/-/commit/4ffa3097ece83d990bdc4e5728584e29bae8bfe6 签到模块相关接口 2022-06-16T17:12:51+08:00 夏天。。 1107578936@qq.com https://gitcode.net/SoftwareEngineering2022ClassW/mobius/mobius-system/-/commit/017642aa7d5e8da7443d25c16b82d4fdac0ec462 签到模块相关接口 2022-06-16T17:15:03+08:00 夏天。。 1107578936@qq.com https://gitcode.net/SoftwareEngineering2022ClassW/mobius/mobius-system/-/commit/d11cff4cad0654518e9035b14ec907e23705ca80 签到模块相关接口 2022-06-16T23:27:26+08:00 夏天。。 1107578936@qq.com
......@@ -28,7 +28,7 @@ public class DailyCheckPerHeatBean implements InitializingBean {
log.info("每日签到初始化");
UmsCheck check = checkService.getCheckByValidDate(new Date());
if (check!=null){
checkService.loadDailyCheck(check);
checkService.loadDailyCheck(checkService.getCheckDto(check));
}
log.info("==============================================");
}
......
......@@ -3,8 +3,14 @@ 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 com.mobius.modules.ums.vo.CheckVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
......@@ -14,29 +20,43 @@ import java.util.Date;
* 前端控制器
* </p>
*
* @author Sqh
* @since 2022-06-13
* @author czj
* @since 2022-06-14
*/
@RestController
@Api(tags = "UmsCheckController", description = "后台签到")
@RequestMapping("/check")
public class UmsCheckController {
@Autowired
private UmsCheckService checkService;
//创建签到
@PostMapping("")
public CommonResult createCheckService(){
return checkService.createCheck();
@ApiOperation(value = "创建签到")
CommonResult createCheck(@Validated @RequestBody CheckVo checkVo){
return checkService.createCheck(checkVo);
}
// @GetMapping("/{id}")
//
// @DeleteMapping("/{id}")
@GetMapping("/list")
@ApiOperation(value = "获取该月签到列表")
public CommonResult getCheckList(@RequestParam(value = "date",defaultValue = "2022/5/22") Date date){
return checkService.checkListByMonth(date);
}
}
@GetMapping("/day")
@ApiOperation(value = "获取今日签到信息")
public CommonResult getDailyCheck(){
CheckDto dailyCheck = checkService.getDailyCheck();
return CommonResult.success(dailyCheck);
}
@PutMapping("")
@ApiOperation("修改签到类")
public CommonResult updateCheck(@Validated @RequestBody CheckVo checkVo){
return checkService.updateCheck(checkVo);
}
}
package com.mobius.modules.ums.dto;
import com.mobius.modules.ums.model.UmsReward;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
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;
}
......@@ -3,14 +3,5 @@ package com.mobius.modules.ums.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mobius.modules.ums.model.UmsCheck;
/**
* <p>
* Mapper 接口
* </p>
*
* @author Sqh
* @since 2022-06-13
*/
public interface UmsCheckMapper extends BaseMapper<UmsCheck> {
}
......@@ -5,41 +5,34 @@ 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 java.io.Serializable;
import java.util.Date;
/**
* <p>
*
* </p>
*
* @author Sqh
* @since 2022-06-13
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ums_check")
@ApiModel(value="UmsCheck对象", description="")
@ApiModel(value = "UmsCheck对象", description = "")
@Builder
public class UmsCheck implements Serializable {
private static final long serialVersionUID=1L;
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "奖励id列表")
private String rewards;
@ApiModelProperty(value = "奖励描述")
@ApiModelProperty(value = "")
private Date validTime;
@ApiModelProperty(value = "奖励项创建的时间")
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "奖励项修改的时间")
@ApiModelProperty(value = "修改时间")
private Date updateTime;
......
......@@ -2,7 +2,11 @@ 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.UmsAdminRoleRelation;
import com.mobius.modules.ums.model.UmsCheck;
import com.mobius.modules.ums.service.impl.UmsCheckServiceImpl;
import com.mobius.modules.ums.vo.CheckVo;
import java.util.Date;
import java.util.List;
......@@ -18,16 +22,19 @@ import java.util.List;
public interface UmsCheckService extends IService<UmsCheck> {
CommonResult createCheck();
CommonResult checkListByMonth(Date date);
CommonResult updateCheck(CheckVo checkVo);
List<UmsCheck> getCheckListByMonth(Date date);
void loadDailyCheck(UmsCheck check);
void loadDailyCheck(CheckDto check);
UmsCheck getCheckByValidDate(Date date);
UmsCheck getDailyCheck();
CheckDto getDailyCheck();
CommonResult createCheck(CheckVo checkVo);
CheckDto getCheckDto(UmsCheck check);
}
......@@ -23,4 +23,6 @@ public interface UmsRewardService extends IService<UmsReward> {
CommonResult createReward(RewardVo rewardVo);
CommonResult deleteReward(Long id);
}
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.google.gson.JsonObject;
import com.mobius.common.api.CommonResult;
import com.mobius.common.api.ResultCode;
import com.mobius.common.service.RedisService;
import com.mobius.modules.ums.dto.CheckDto;
import com.mobius.modules.ums.mapper.UmsAdminMapper;
import com.mobius.modules.ums.mapper.UmsCheckMapper;
import com.mobius.modules.ums.model.UmsAdmin;
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 com.mobius.utils.DateUtils;
import com.mobius.modules.ums.vo.CheckVo;
import io.swagger.models.auth.In;
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;
......@@ -22,7 +34,10 @@ import java.util.List;
* @author Sqh
* @since 2022-06-13
*/
import java.util.Date;
@Service
@Slf4j
public class UmsCheckServiceImpl extends ServiceImpl<UmsCheckMapper, UmsCheck> implements UmsCheckService {
@Autowired
......@@ -30,13 +45,28 @@ public class UmsCheckServiceImpl extends ServiceImpl<UmsCheckMapper, UmsCheck> i
@Autowired
private RedisService redisService;
private final static String CHECK = "check$daily";
@Autowired
private UmsRewardService rewardService;
private final static String CHECK = "check$daily";
@Override
public CommonResult createCheck() {
public CommonResult createCheck(CheckVo checkVo) {
UmsCheck checkByValidDate = getCheckByValidDate(checkVo.getValidTime());
if (checkByValidDate!=null){
return CommonResult.failed("该天签到已经存在");
}
UmsCheck check = UmsCheck.builder()
.id(0)
//rewards从数据库中取?
.rewards(checkVo.getIdList().toString())
.validTime(checkVo.getValidTime())
.createTime(new Date())
.updateTime(new Date())
.build();
return null;
int id = checkMapper.insert(check);
return CommonResult.success(id);
}
@Override
......@@ -45,15 +75,28 @@ public class UmsCheckServiceImpl extends ServiceImpl<UmsCheckMapper, UmsCheck> i
}
@Override
public void loadDailyCheck(UmsCheck check) {
public CommonResult updateCheck(CheckVo checkVo) {
UmsCheck checkByValidDate = getCheckByValidDate(checkVo.getValidTime());
if (checkByValidDate==null){
createCheck(checkVo);
}
checkByValidDate.setRewards(checkVo.getIdList().toString());
checkMapper.updateById(checkByValidDate);
return CommonResult.success(ResultCode.SUCCESS);
}
@Override
public void loadDailyCheck(CheckDto check) {
redisService.set(CHECK,check);
}
@Override
public List<UmsCheck> getCheckListByMonth(Date date) {
QueryWrapper<UmsCheck> wrapper = new QueryWrapper<>();
wrapper.ge("valid_time", DateUtils.getMonthStartedDate(date));
wrapper.le("valid_time",DateUtils.getNextMonthStartDate(date));
wrapper.gt("valid_time", DateUtils.getMonthStartedDate(date));
wrapper.lt("valid_time",DateUtils.getNextMonthStartDate(date));
return checkMapper.selectList(wrapper);
}
......@@ -62,16 +105,38 @@ 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 check;
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 new CheckDto(check.getId(),check.getValidTime(),rewards);
}
}
//package com.mobius.modules.ums.service.impl;
//
//import static org.junit.jupiter.api.Assertions.*;
//
///**
// * @Author: hocztms
// * @Description:
// * @Date Created in 2022-06-14-23:17
// * @Modified By:
// */
//class UmsCheckServiceImplTest {
//
// @org.junit.jupiter.api.Test
// void createCheck() {
// }
//}
\ No newline at end of file
package com.mobius.modules.ums.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
/**
* @Author: hocztms
* @Description:
* @Date Created in 2022-06-14-23:07
* @Modified By:
*/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "签到信息类")
public class CheckVo {
@NotEmpty(message = "id序列不为空")
@ApiModelProperty("id序列")
private List<Integer> idList;
@NotNull(message = "合法时间不为空")
@ApiModelProperty("合法时间")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date validTime;
}
......@@ -11,6 +11,7 @@ public class DateUtils {
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND,0);
Date zero = calendar.getTime();
return zero;
}
......@@ -21,6 +22,7 @@ public class DateUtils {
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND,0);
Date zero = calendar.getTime();
return zero;
}
......@@ -31,6 +33,7 @@ public class DateUtils {
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND,0);
calendar.set(Calendar.DAY_OF_YEAR,calendar.get(Calendar.DAY_OF_YEAR) +1);
Date zero = calendar.getTime();
return zero;
......@@ -43,6 +46,7 @@ public class DateUtils {
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND,0);
Date zero = calendar.getTime();
return zero;
}
......@@ -54,6 +58,7 @@ public class DateUtils {
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MILLISECOND,0);
calendar.set(Calendar.MONTH,calendar.get(Calendar.MONTH)+1);
Date zero = calendar.getTime();
return zero;
......
package com.mobius.modules.ums.service;
import com.mobius.modules.ums.model.UmsCheck;
import com.mobius.utils.DateUtils;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.Date;
import static org.junit.jupiter.api.Assertions.*;
/**
......@@ -20,7 +23,7 @@ class UmsCheckServiceTest {
private UmsCheckService checkService;
@Test
void getDailyCheck() {
UmsCheck dailyCheck = checkService.getDailyCheck();
UmsCheck dailyCheck = checkService.getCheckByValidDate(DateUtils.getZeroTime(new Date()));
System.out.println(dailyCheck.toString());
}
}
\ No newline at end of file
......@@ -2,6 +2,7 @@ package com.mobius.modules.ums.controller;
import com.mobius.common.api.CommonResult;
import com.mobius.common.api.ResultCode;
import com.mobius.modules.ums.model.UmsCheck;
import com.mobius.modules.ums.service.UmsCheckService;
import io.swagger.annotations.Api;
......@@ -37,7 +38,7 @@ public class UmsCheckController {
@ApiOperation("签到")
@GetMapping("")
public CommonResult userCheck(){
return CommonResult.success(ResultCode.SUCCESS);
}
}
//package com.mobius.modules.lms.service.impl;
//
//import com.mobius.modules.lms.service.LmsVerifyLetterService;
//import org.junit.jupiter.api.Test;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.test.context.SpringBootTest;
//
//import static org.junit.jupiter.api.Assertions.*;
//
///**
// * @author Sqh
// * @date 2022/5/12
// */
//@SpringBootTest
//class LmsVerifyLetterServiceImplTest {
// @Autowired
// private LmsVerifyLetterService verifyLetterService;
//
// @Test
// void verifyLetterContent() {
// String testContent = "ausdhauhduahsdas";
// verifyLetterService.verifyLetterContent(testContent);
// }
//}
\ No newline at end of file
package com.mobius.modules.lms.service.impl;
import com.mobius.modules.lms.service.LmsVerifyLetterService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import static org.junit.jupiter.api.Assertions.*;
/**
* @author Sqh
* @date 2022/5/12
*/
@SpringBootTest
class LmsVerifyLetterServiceImplTest {
@Autowired
private LmsVerifyLetterService verifyLetterService;
@Test
void verifyLetterContent() {
String testContent = "ausdhauhduahsdas";
verifyLetterService.verifyLetterContent(testContent);
}
}
\ No newline at end of file
......@@ -74,6 +74,9 @@
<version>${kotlin.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
......