Commit e235f46a authored by shiyu's avatar shiyu

进度条

parent fe79daba
...@@ -9,6 +9,8 @@ public interface QdUserSignInTaskDao { ...@@ -9,6 +9,8 @@ public interface QdUserSignInTaskDao {
boolean insert(QdUserSignInTask qdUserSignInTask); boolean insert(QdUserSignInTask qdUserSignInTask);
boolean update(QdUserSignInTask qdUserSignInTask);
List<QdUserSignInTask> findByPage(QdUserSignInTaskRequestDto dto); List<QdUserSignInTask> findByPage(QdUserSignInTaskRequestDto dto);
/** /**
......
...@@ -135,6 +135,7 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao { ...@@ -135,6 +135,7 @@ public class QdUserSignInDaoImpl implements QdUserSignInDao {
QdUserSignInExample.Criteria criteria = example.createCriteria(); QdUserSignInExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getStartQueryTime(), criteria::andCreateTimeGreaterThan); JdbcHelper.ifPresent(dto.getStartQueryTime(), criteria::andCreateTimeGreaterThan);
JdbcHelper.ifPresent(dto.getSignInDate(), criteria::andSignInDateEqualTo); JdbcHelper.ifPresent(dto.getSignInDate(), criteria::andSignInDateEqualTo);
JdbcHelper.ifPresent(dto.getTaskId(), criteria::andTaskIdEqualTo);
criteria.andUserIdEqualTo(dto.getUserId()); criteria.andUserIdEqualTo(dto.getUserId());
criteria.andIsValidEqualTo(true); criteria.andIsValidEqualTo(true);
QdUserSignIn userSignin = new QdUserSignIn(); QdUserSignIn userSignin = new QdUserSignIn();
......
...@@ -37,6 +37,15 @@ public class QdUserSignInTaskDaoImpl implements QdUserSignInTaskDao { ...@@ -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 @Override
public long count(long userId) { public long count(long userId) {
QdUserSignInTaskExample example = new QdUserSignInTaskExample(); QdUserSignInTaskExample example = new QdUserSignInTaskExample();
......
...@@ -130,4 +130,6 @@ public class SignInTaskVo implements Entity { ...@@ -130,4 +130,6 @@ public class SignInTaskVo implements Entity {
* 是否过期 * 是否过期
*/ */
private Boolean isExpire = false; private Boolean isExpire = false;
private Integer rate;
} }
...@@ -165,6 +165,14 @@ public class QdSignInTaskServiceImpl implements QdSignInTaskService { ...@@ -165,6 +165,14 @@ public class QdSignInTaskServiceImpl implements QdSignInTaskService {
} else { } else {
goalStr = "累计签到" + signInTask.getGoalDays() + "天可领取奖品"; 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); long joinPeopleNum = qdUserSignInTaskDao.countByTaskId(taskId);
signInTaskVo.setJoinPeopleNum(joinPeopleNum); signInTaskVo.setJoinPeopleNum(joinPeopleNum);
signInTaskVo.setGoalDesc(goalStr); signInTaskVo.setGoalDesc(goalStr);
......
...@@ -8,6 +8,7 @@ import com.wwdz.ch.db.dao.qiandao.SignInTaskDao; ...@@ -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.QdUserSignIn;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInTask; 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.QdUserSignInRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInTaskRequestDto; import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInTaskRequestDto;
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;
...@@ -59,6 +60,29 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService { ...@@ -59,6 +60,29 @@ public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
return Result.failed(); 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 @Override
public Result findTaskList(QdUserSignInTaskRequestDto dto) { public Result findTaskList(QdUserSignInTaskRequestDto dto) {
try { try {
......
...@@ -12,6 +12,13 @@ public interface QdUserSignInTaskService { ...@@ -12,6 +12,13 @@ public interface QdUserSignInTaskService {
*/ */
Result join(QdUserSignInTaskRequestDto dto); Result join(QdUserSignInTaskRequestDto dto);
/**
* 退出签到任务
* @param dto
* @return
*/
Result out(QdUserSignInTaskRequestDto dto);
/** /**
* 查询用户参加的签到任务 * 查询用户参加的签到任务
......
...@@ -42,6 +42,22 @@ public class QdUserSignInTaskController { ...@@ -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 = "查询用户参加的签到任务") @ApiOperation(value = "查询用户参加的签到任务")
@PostMapping("/findTaskList") @PostMapping("/findTaskList")
public Result findTaskList(@RequestBody QdUserSignInTaskRequestDto dto) { 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