Commit e235f46a authored by shiyu's avatar shiyu

进度条

parent fe79daba
......@@ -9,6 +9,8 @@ public interface QdUserSignInTaskDao {
boolean insert(QdUserSignInTask qdUserSignInTask);
boolean update(QdUserSignInTask qdUserSignInTask);
List<QdUserSignInTask> findByPage(QdUserSignInTaskRequestDto dto);
/**
......
......@@ -135,6 +135,7 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao {
QdUserSignInExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getStartQueryTime(), criteria::andCreateTimeGreaterThan);
JdbcHelper.ifPresent(dto.getSignInDate(), criteria::andSignInDateEqualTo);
JdbcHelper.ifPresent(dto.getTaskId(), criteria::andTaskIdEqualTo);
criteria.andUserIdEqualTo(dto.getUserId());
criteria.andIsValidEqualTo(true);
QdUserSignIn userSignin = new QdUserSignIn();
......
......@@ -37,6 +37,15 @@ public class QdUserSignInTaskDaoImpl implements QdUserSignInTaskDao {
}
@Override
public boolean update(QdUserSignInTask qdUserSignInTask) {
QdUserSignInTaskExample example = new QdUserSignInTaskExample();
QdUserSignInTaskExample.Criteria criteria = example.createCriteria();
criteria.andUserIdEqualTo(qdUserSignInTask.getUserId());
criteria.andTaskIdEqualTo(qdUserSignInTask.getTaskId());
return qdUserSignInTaskMapper.updateByExampleSelective(qdUserSignInTask, example) > 0;
}
@Override
public long count(long userId) {
QdUserSignInTaskExample example = new QdUserSignInTaskExample();
......
......@@ -130,4 +130,6 @@ public class SignInTaskVo implements Entity {
* 是否过期
*/
private Boolean isExpire = false;
private Integer rate;
}
......@@ -165,6 +165,14 @@ public class QdSignInTaskServiceImpl implements QdSignInTaskService {
} else {
goalStr = "累计签到" + signInTask.getGoalDays() + "天可领取奖品";
}
//进度条
int goalDays = signInTask.getGoalDays();
if (signInTask.getType() == SignInTaskEnum.TypeEnum.CONTINUOUS.getCode()) {
signInTaskVo.setRate((int)Math.ceil((Double.valueOf(signInTaskVo.getConsecutiveDays().toString()) / goalDays) * 100));
} else {
signInTaskVo.setRate((int)Math.ceil((Double.valueOf(signInTaskVo.getTotalDays().toString()) / goalDays) * 100));
}
long joinPeopleNum = qdUserSignInTaskDao.countByTaskId(taskId);
signInTaskVo.setJoinPeopleNum(joinPeopleNum);
signInTaskVo.setGoalDesc(goalStr);
......
......@@ -8,6 +8,7 @@ import com.wwdz.ch.db.dao.qiandao.SignInTaskDao;
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.dto.request.qiandao.QdUserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInTaskRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
import com.wwdz.ch.wx.entity.vo.qiandao.SignInTaskVo;
......@@ -59,6 +60,29 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
return Result.failed();
}
@Override
public Result out(QdUserSignInTaskRequestDto dto) {
try {
QdUserSignInTask qdUserSignInTask = new QdUserSignInTask();
qdUserSignInTask.setUserId(dto.getUserId());
qdUserSignInTask.setTaskId(dto.getTaskId());
qdUserSignInTask.setUpdateTime(new Date());
qdUserSignInTask.setIsValid(false);
qdUserSignInTaskDao.update(qdUserSignInTask);
//清空所有签到记录
QdUserSignInRequestDto qdUserSignInRequestDto = new QdUserSignInRequestDto();
qdUserSignInRequestDto.setUserId(dto.getUserId());
qdUserSignInRequestDto.setTaskId(dto.getTaskId());
qdUserSignInDao.updateInvalid(qdUserSignInRequestDto);
return Result.success();
} catch (Exception e) {
logger.error("退出签到任务 error:{}", e);
}
return Result.failed();
}
@Override
public Result findTaskList(QdUserSignInTaskRequestDto dto) {
try {
......
......@@ -12,6 +12,13 @@ public interface QdUserSignInTaskService {
*/
Result join(QdUserSignInTaskRequestDto dto);
/**
* 退出签到任务
* @param dto
* @return
*/
Result out(QdUserSignInTaskRequestDto dto);
/**
* 查询用户参加的签到任务
......
......@@ -42,6 +42,22 @@ public class QdUserSignInTaskController {
}
@ApiOperation(value = "退出任务")
@PostMapping("/out")
public Result out(@RequestBody QdUserSignInTaskRequestDto 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 qdUserSignInTaskService.out(dto);
}
@ApiOperation(value = "查询用户参加的签到任务")
@PostMapping("/findTaskList")
public Result findTaskList(@RequestBody QdUserSignInTaskRequestDto 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