Commit 858e1107 authored by shiyu's avatar shiyu

查询签到信息

parent d9e247ce
...@@ -25,4 +25,12 @@ public interface QdUserSignInTaskDao { ...@@ -25,4 +25,12 @@ public interface QdUserSignInTaskDao {
* @return * @return
*/ */
long countByTaskId(long taskId); long countByTaskId(long taskId);
/**
* 是否参加
* @param userId
* @param taskId
* @return
*/
boolean isExisted(long userId, long taskId);
} }
...@@ -55,4 +55,15 @@ public class QdUserSignInTaskDaoImpl implements QdUserSignInTaskDao { ...@@ -55,4 +55,15 @@ public class QdUserSignInTaskDaoImpl implements QdUserSignInTaskDao {
criteria.andIsValidEqualTo(true); criteria.andIsValidEqualTo(true);
return qdUserSignInTaskMapper.countByExample(example); return qdUserSignInTaskMapper.countByExample(example);
} }
@Override
public boolean isExisted(long userId, long taskId) {
QdUserSignInTaskExample example = new QdUserSignInTaskExample();
QdUserSignInTaskExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(userId);
criteria.andTaskIdEqualTo(taskId);
criteria.andIsValidEqualTo(true);
return qdUserSignInTaskMapper.countByExample(example) > 0;
}
} }
...@@ -114,4 +114,9 @@ public class SignInTaskVo implements Entity { ...@@ -114,4 +114,9 @@ public class SignInTaskVo implements Entity {
* 领取奖励的标准 * 领取奖励的标准
*/ */
private String goalDesc; private String goalDesc;
/**
* 是否已参加
*/
private Boolean isJoin = false;
} }
...@@ -9,6 +9,7 @@ import com.wwdz.ch.db.dao.qiandao.QdUserSignInTaskDao; ...@@ -9,6 +9,7 @@ import com.wwdz.ch.db.dao.qiandao.QdUserSignInTaskDao;
import com.wwdz.ch.db.dao.qiandao.SignInTaskDao; import com.wwdz.ch.db.dao.qiandao.SignInTaskDao;
import com.wwdz.ch.db.domain.UserSignIn; import com.wwdz.ch.db.domain.UserSignIn;
import com.wwdz.ch.db.domain.qiandao.QdUserSignIn; import com.wwdz.ch.db.domain.qiandao.QdUserSignIn;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInTask;
import com.wwdz.ch.db.domain.qiandao.SignInTask; import com.wwdz.ch.db.domain.qiandao.SignInTask;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto; import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
import com.wwdz.ch.wx.entity.vo.qiandao.SignInTaskVo; import com.wwdz.ch.wx.entity.vo.qiandao.SignInTaskVo;
...@@ -21,6 +22,7 @@ import org.springframework.stereotype.Service; ...@@ -21,6 +22,7 @@ import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -73,7 +75,24 @@ public class QdSignInTaskServiceImpl implements QdSignInTaskService { ...@@ -73,7 +75,24 @@ public class QdSignInTaskServiceImpl implements QdSignInTaskService {
@Override @Override
public Result findList(SignInTaskRequestDto dto) { public Result findList(SignInTaskRequestDto dto) {
return null; try {
List<SignInTaskVo> signInTaskVoList = new ArrayList<>();
List<SignInTask> taskList = signInTaskDao.findByPage(dto);
for (SignInTask task : taskList) {
SignInTaskVo signInTaskVo = new SignInTaskVo();
EntityMapper.copyAttribute(task, signInTaskVo);
if (qdUserSignInTaskDao.isExisted(dto.getUserId(), task.getId())) {
signInTaskVo.setIsJoin(true);
}
long joinPeopleNum = qdUserSignInTaskDao.countByTaskId(task.getId());
signInTaskVo.setJoinPeopleNum(joinPeopleNum);
signInTaskVoList.add(signInTaskVo);
}
return Result.success(signInTaskVoList);
} catch (Exception e) {
logger.error("查询签到任务列表失败 error :{}", e);
}
return Result.failed();
} }
......
...@@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory; ...@@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.Date; import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
...@@ -184,4 +185,35 @@ public class QdUserSignInServiceImpl implements QdUserSignInService { ...@@ -184,4 +185,35 @@ public class QdUserSignInServiceImpl implements QdUserSignInService {
} }
return Result.failed(); return Result.failed();
} }
@Override
public Result findInfo(QdUserSignInRequestDto dto) {
try {
Map<String, Object> map = new HashMap<>();
long taskId = dto.getTaskId();
QdUserSignIn qdUserSignIn = qdUserSignInDao.findLastedRecord(dto.getUserId(), taskId);
if (qdUserSignIn != null) {
LocalDate today = LocalDate.now();
LocalDate yesterday = today.minusDays(1);
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String yesterdayString = yesterday.format(dateFormatter);
String todayStr = today.format(dateFormatter);
if (qdUserSignIn.getSignInDate().equals(yesterdayString) || qdUserSignIn.getSignInDate().equals(todayStr)) {
map.put("consecutiveDays", qdUserSignIn.getConsecutiveDays());
} else {
map.put("consecutiveDays", 0);
}
} else {
map.put("consecutiveDays", 0);
}
//查询累计签到天数
long totalDays = qdUserSignInDao.countTotalRecord(dto.getUserId(), taskId);
map.put("totalDays", totalDays);
return Result.success(map);
} catch (Exception e) {
logger.error("查询签到信息失败 error:{}", e);
}
return Result.failed();
}
} }
...@@ -19,4 +19,11 @@ public interface QdUserSignInService { ...@@ -19,4 +19,11 @@ public interface QdUserSignInService {
*/ */
Result getReward(QdUserSignInRequestDto dto); Result getReward(QdUserSignInRequestDto dto);
/**
* 查询签到信息
* @return
*/
Result findInfo(QdUserSignInRequestDto dto);
} }
package com.wwdz.ch.wx.web.qiandao; package com.wwdz.ch.wx.web.qiandao;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.qiandao.QdGiveLikeRecordRequestDto;
import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto; import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto;
import com.wwdz.ch.wx.service.qiandao.QdHomePageService; import com.wwdz.ch.wx.service.qiandao.QdHomePageService;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
......
...@@ -42,6 +42,22 @@ public class QdSignInTaskController { ...@@ -42,6 +42,22 @@ public class QdSignInTaskController {
} }
@ApiOperation(value = "查询签到任务列表")
@PostMapping("/findList")
public Result findList(@RequestBody SignInTaskRequestDto dto) {
logger.info("【请求开始】查询签到任务列表,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("userId", "用户id").must().number()
.end();
if (!validator.isValid()) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return qdSignInTaskService.findList(dto);
}
@ApiOperation(value = "查询签到任务详情") @ApiOperation(value = "查询签到任务详情")
@PostMapping("/findDetail") @PostMapping("/findDetail")
public Result findDetail(@RequestBody SignInTaskRequestDto dto) { public Result findDetail(@RequestBody SignInTaskRequestDto dto) {
......
...@@ -58,4 +58,20 @@ public class QdUserSignInController { ...@@ -58,4 +58,20 @@ public class QdUserSignInController {
} }
@ApiOperation(value = "查询签到信息")
@PostMapping("/findInfo")
public Result findInfo(@RequestBody QdUserSignInRequestDto 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 qdUserSignInService.findInfo(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