Commit beeabda8 authored by shiyu's avatar shiyu

首页

parent 2775663c
......@@ -12,6 +12,8 @@ public class SignInTaskRequestDto extends BaseRequestDto implements Entity {
private Long id;
private Long userId;
/**
* 签到任务名称
*/
......
......@@ -40,6 +40,11 @@ public class SignInTaskVo implements Entity {
*/
private Date signInEndTime;
/**
* 签到时间段
*/
private String signInTime;
/**
* 打卡目标天数
*/
......@@ -94,4 +99,19 @@ public class SignInTaskVo implements Entity {
* 今天是否签到
*/
private Boolean isTodaySignIn = false;
/**
* 连续天数
*/
private Integer consecutiveDays;
/**
* 累计签到天数
*/
private Integer totalDays;
/**
* 领取奖励的标准
*/
private String goalDesc;
}
package com.wwdz.ch.wx.impl.qiandao;
import com.wwdz.ch.core.consts.CommConsts;
import com.wwdz.ch.core.consts.qiandao.SignInTaskEnum;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.UserSignInDao;
import com.wwdz.ch.db.dao.qiandao.QdUserSignInDao;
import com.wwdz.ch.db.dao.qiandao.QdUserSignInTaskDao;
import com.wwdz.ch.db.dao.qiandao.SignInTaskDao;
import com.wwdz.ch.db.domain.UserSignIn;
import com.wwdz.ch.db.domain.qiandao.QdUserSignIn;
import com.wwdz.ch.db.domain.qiandao.SignInTask;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
import com.wwdz.ch.wx.entity.vo.qiandao.SignInTaskVo;
import com.wwdz.ch.wx.service.qiandao.QdSignInTaskService;
import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List;
@Service
public class QdSignInTaskServiceImpl implements QdSignInTaskService {
......@@ -21,6 +32,12 @@ public class QdSignInTaskServiceImpl implements QdSignInTaskService {
@Autowired
SignInTaskDao signInTaskDao;
@Autowired
QdUserSignInTaskDao qdUserSignInTaskDao;
@Autowired
QdUserSignInDao qdUserSignInDao;
@Override
public Result add(SignInTaskRequestDto dto) {
try {
......@@ -38,4 +55,49 @@ public class QdSignInTaskServiceImpl implements QdSignInTaskService {
}
return Result.failed();
}
@Override
public Result findListForHomePage(SignInTaskRequestDto dto) {
try {
dto.setCreatorId(CommConsts.SYSTEM_ACCOUNT.longValue());
dto.setLimit(6);
List<SignInTask> signInTaskList = signInTaskDao.findByPage(dto);
return Result.success(signInTaskList);
} catch (Exception e) {
logger.error("首页查询签到任务失败 error :{}", e);
}
return Result.failed();
}
@Override
public Result findList(SignInTaskRequestDto dto) {
return null;
}
@Override
public Result findDetail(SignInTaskRequestDto dto) {
try {
long taskId = dto.getId();
SignInTask signInTask = signInTaskDao.findById(taskId);
long joinNum = qdUserSignInTaskDao.countByTaskId(taskId);
SignInTaskVo signInTaskVo = new SignInTaskVo();
EntityMapper.copyAttribute(signInTask, signInTaskVo);
signInTaskVo.setJoinPeopleNum(joinNum);
SimpleDateFormat timeFormat = new SimpleDateFormat("H:mm");
if (signInTask.getSignInStartTime() != null && signInTask.getSignInEndTime() != null) {
String start = timeFormat.format(signInTask.getSignInStartTime());
String end = timeFormat.format(signInTask.getSignInEndTime());
String timeRange = "每天 " + start + " - " + end;
signInTaskVo.setSignInTime(timeRange);
}
QdUserSignIn qdUserSignIn = qdUserSignInDao.findLastedRecord(dto.getUserId(), taskId);
return Result.success();
} catch (Exception e) {
logger.error("查询签到任务详情 error:{}", e);
}
return Result.failed();
}
}
......@@ -43,7 +43,6 @@ public class QdUserSignInNoteServiceImpl implements QdUserSignInNoteService {
@Override
public Result findSignInNoteList(QdUserSignInNoteRequestDto dto) {
try {
long userId = dto.getUserId();
//查询多有动态,查询时剔除指定用户
if (!dto.getOnlySelf()) {
dto.setUserId(null);
......@@ -55,7 +54,7 @@ public class QdUserSignInNoteServiceImpl implements QdUserSignInNoteService {
QdSignInNoteVo qdSignInNoteVo = new QdSignInNoteVo();
EntityMapper.copyAttribute(qdUserSignInNote, qdSignInNoteVo);
qdSignInNoteVo.setImageList(Arrays.asList(qdUserSignInNote.getImage().split(";")));
QdUser qdUser = qdUserDao.queryById(userId);
QdUser qdUser = qdUserDao.queryById(qdUserSignInNote.getUserId());
qdSignInNoteVo.setUserAvatar(qdSignInNoteVo.getUserAvatar());
qdSignInNoteVo.setUserName(qdUser.getNickName());
long diffInMillies = Math.abs(new Date().getTime() - qdUserSignInNote.getCreateTime().getTime());
......
package com.wwdz.ch.wx.impl.qiandao;
import com.wwdz.ch.core.consts.CommConsts;
import com.wwdz.ch.core.consts.qiandao.SignInTaskEnum;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dao.qiandao.SignInTaskDao;
import com.wwdz.ch.db.domain.qiandao.SignInTask;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
import com.wwdz.ch.wx.service.qiandao.SignInTaskService;
import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class SignInTaskServiceImpl implements SignInTaskService {
private static final Logger logger = LoggerFactory.getLogger(SignInTaskServiceImpl.class);
@Autowired
SignInTaskDao signInTaskDao;
@Override
public Result add(SignInTaskRequestDto dto) {
try {
SignInTask signInTask = new SignInTask();
EntityMapper.copyAttribute(dto, signInTask);
signInTask.setState(SignInTaskEnum.StateEnum.NOT_START.getCode());
signInTaskDao.insert(signInTask);
return Result.success();
} catch (Exception e) {
logger.error("新增签到任务失败 error :{}", e);
}
return Result.failed();
}
@Override
public Result findListForHomePage(SignInTaskRequestDto dto) {
try {
dto.setCreatorId(CommConsts.SYSTEM_ACCOUNT.longValue());
dto.setLimit(6);
List<SignInTask> signInTaskList = signInTaskDao.findByPage(dto);
return Result.success(signInTaskList);
} catch (Exception e) {
logger.error("首页查询签到任务失败 error :{}", e);
}
return Result.failed();
}
@Override
public Result findList(SignInTaskRequestDto dto) {
try {
} catch (Exception e) {
logger.error("查询签到任务失败 error : {}", e);
}
return Result.failed();
}
}
......@@ -11,4 +11,27 @@ public interface QdSignInTaskService {
* @return
*/
Result add(SignInTaskRequestDto dto);
/**
* 首页查询签到任务
* @param dto
* @return
*/
Result findListForHomePage(SignInTaskRequestDto dto);
/**
* 查询签到任务
* @param dto
* @return
*/
Result findList(SignInTaskRequestDto dto);
/**
* 查询签到任务详情
* @param dto
* @return
*/
Result findDetail(SignInTaskRequestDto dto);
}
package com.wwdz.ch.wx.service.qiandao;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
public interface SignInTaskService {
/**
* 新增签到任务
* @param dto
* @return
*/
Result add(SignInTaskRequestDto dto);
/**
* 首页查询签到任务
* @param dto
* @return
*/
Result findListForHomePage(SignInTaskRequestDto dto);
/**
* 查询签到任务
* @param dto
* @return
*/
Result findList(SignInTaskRequestDto dto);
}
......@@ -40,4 +40,22 @@ public class QdSignInTaskController {
}
return qdSignInTaskService.add(dto);
}
@ApiOperation(value = "查询签到任务详情")
@PostMapping("/findDetail")
public Result findDetail(@RequestBody SignInTaskRequestDto dto) {
logger.info("【请求开始】查询签到任务详情,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("userId", "用户id").must().number()
.set("taskId", "任务id").must().number()
.end();
if (!validator.isValid()) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return qdSignInTaskService.findDetail(dto);
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment