Commit 8c488527 authored by shiyu's avatar shiyu

创建签到任务

parent 5833305e
package com.wwdz.ch.core.consts.qiandao;
import com.wwdz.ch.core.consts.AfterSaleEnum;
public class SignInTaskEnum {
/**
* 签到任务状态
*/
public enum StateEnum {
NOT_START(0, "未开始"),
PROCESSING(1, "进行中"),
END(2, "已结束"),
DELETED(-1, "已删除"),
;
private int code;
private String des;
StateEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (SignInTaskEnum.StateEnum stateEnum : SignInTaskEnum.StateEnum.values()) {
if (code == stateEnum.getCode()) {
return stateEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
/**
* 签到任务状态
*/
public enum TypeEnum {
CONTINUOUS(1, "连续签到任务"),
ACCUMULATE(2, "累计签到任务"),
;
private int code;
private String des;
TypeEnum(int code, String des) {
this.code = code;
this.des = des;
}
public static String getNameByCode(int code) {
for (SignInTaskEnum.TypeEnum typeEnum : SignInTaskEnum.TypeEnum.values()) {
if (code == typeEnum.getCode()) {
return typeEnum.getDes();
}
}
return null;
}
public int getCode() {
return code;
}
public String getDes() {
return des;
}
}
}
package com.wwdz.ch.db.dao.qiandao;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInNoteRequestDto;
import java.util.List;
public interface QdUserSignInNoteDao {
boolean insert(QdUserSignInNote qdUserSignInNote);
List<QdUserSignInNote> findByPage(QdUserSignInNoteRequestDto dto);
}
package com.wwdz.ch.db.dao.qiandao; package com.wwdz.ch.db.dao.qiandao;
import com.wwdz.ch.db.domain.qiandao.SignInTask;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
import java.util.List;
public interface SignInTaskDao { public interface SignInTaskDao {
boolean insert(SignInTask signInTask);
List<SignInTask> findByPage(SignInTaskRequestDto dto);
} }
package com.wwdz.ch.db.dto.request.qiandao; package com.wwdz.ch.db.dto.request.qiandao;
import com.wwdz.ch.db.dto.request.BaseRequestDto;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@Data @Data
public class QdUserSignInNoteRequestDto implements Entity { public class QdUserSignInNoteRequestDto extends BaseRequestDto implements Entity {
/** /**
* 用户id * 用户id
......
package com.wwdz.ch.db.dto.request.qiandao; package com.wwdz.ch.db.dto.request.qiandao;
import com.wwdz.ch.db.dto.request.BaseRequestDto;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@Data @Data
public class QdUserSignInRequestDto implements Entity { public class QdUserSignInRequestDto extends BaseRequestDto implements Entity {
/** /**
* id * id
......
package com.wwdz.ch.db.dto.request.qiandao; package com.wwdz.ch.db.dto.request.qiandao;
import com.wwdz.ch.db.dto.request.BaseRequestDto;
import com.xxdxxs.entity.Entity; import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
@Data @Data
public class SignInTaskRequestDto implements Entity { public class SignInTaskRequestDto extends BaseRequestDto implements Entity {
private Long id; private Long id;
......
package com.wwdz.ch.db.impl.qiandao;
import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.dao.qiandao.QdUserSignInDao;
import com.wwdz.ch.db.dao.qiandao.QdUserSignInNoteDao;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNoteExample;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInNoteRequestDto;
import com.wwdz.ch.db.mapper.qiandao.QdUserSignInNoteMapper;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class QdUserSignInNoteDaoImpl implements QdUserSignInNoteDao {
@Autowired
QdUserSignInNoteMapper qdUserSignInNoteMapper;
@Override
public boolean insert(QdUserSignInNote qdUserSignInNote) {
return qdUserSignInNoteMapper.insert(qdUserSignInNote) > 0;
}
@Override
public List<QdUserSignInNote> findByPage(QdUserSignInNoteRequestDto dto) {
QdUserSignInNoteExample example = new QdUserSignInNoteExample();
QdUserSignInNoteExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getTaskId(), criteria :: andTaskIdEqualTo);
JdbcHelper.ifPresent(dto.getUserId(), criteria :: andUserIdEqualTo);
JdbcHelper.ifPresent(dto.getIsPrivate(), criteria :: andIsPrivateEqualTo);
PageHelper.startPage(dto.getPage(), dto.getLimit());
example.setOrderByClause("create_time desc");
return qdUserSignInNoteMapper.selectByExample(example);
}
}
package com.wwdz.ch.db.impl.qiandao; package com.wwdz.ch.db.impl.qiandao;
import com.github.pagehelper.PageHelper;
import com.wwdz.ch.db.dao.qiandao.SignInTaskDao; import com.wwdz.ch.db.dao.qiandao.SignInTaskDao;
import com.wwdz.ch.db.domain.qiandao.SignInTask;
import com.wwdz.ch.db.domain.qiandao.SignInTaskExample;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
import com.wwdz.ch.db.mapper.qiandao.SignInTaskMapper;
import com.xxdxxs.db.component.JdbcHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
@Repository @Repository
public class SignInTaskDaoImpl implements SignInTaskDao { public class SignInTaskDaoImpl implements SignInTaskDao {
@Autowired
SignInTaskMapper signInTaskMapper;
@Override
public boolean insert(SignInTask signInTask) {
Date now = new Date();
signInTask.setCreateTime(now);
signInTask.setUpdateTime(now);
return signInTaskMapper.insert(signInTask) > 0;
}
@Override
public List<SignInTask> findByPage(SignInTaskRequestDto dto) {
SignInTaskExample example = new SignInTaskExample();
SignInTaskExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getCreatorId(), criteria :: andCreatorIdEqualTo);
PageHelper.startPage(dto.getPage(), dto.getLimit());
example.setOrderByClause("create_time desc");
return signInTaskMapper.selectByExample(example);
}
} }
...@@ -3,8 +3,11 @@ package com.wwdz.ch.db.mapper.qiandao; ...@@ -3,8 +3,11 @@ package com.wwdz.ch.db.mapper.qiandao;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote; import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNoteExample; import com.wwdz.ch.db.domain.qiandao.QdUserSignInNoteExample;
import java.util.List; import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@Mapper
public interface QdUserSignInNoteMapper { public interface QdUserSignInNoteMapper {
long countByExample(QdUserSignInNoteExample example); long countByExample(QdUserSignInNoteExample example);
......
package com.wwdz.ch.wx.impl.qiandao; package com.wwdz.ch.wx.impl.qiandao;
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.wwdz.ch.wx.service.qiandao.SignInTaskService;
import com.xxdxxs.utils.EntityMapper;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Service @Service
public class SignInTaskServiceImpl implements SignInTaskService { public class SignInTaskServiceImpl implements SignInTaskService {
private static final Logger logger = LoggerFactory.getLogger(SignInTaskServiceImpl.class); 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();
}
} }
package com.wwdz.ch.wx.service.qiandao; 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 { public interface SignInTaskService {
/**
* 新增签到任务
* @param dto
* @return
*/
Result add(SignInTaskRequestDto 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