Commit cf078818 authored by shiyu's avatar shiyu

登录后生成token2

parent 78163dbf
...@@ -17,4 +17,12 @@ public interface QdUserSignInTaskDao { ...@@ -17,4 +17,12 @@ public interface QdUserSignInTaskDao {
* @return * @return
*/ */
long count(long userId); long count(long userId);
/**
* 统计签到任务参加的人数
* @param taskId
* @return
*/
long countByTaskId(long taskId);
} }
...@@ -12,4 +12,6 @@ public interface SignInTaskDao { ...@@ -12,4 +12,6 @@ public interface SignInTaskDao {
List<SignInTask> findByPage(SignInTaskRequestDto dto); List<SignInTask> findByPage(SignInTaskRequestDto dto);
SignInTask findById(long taskId); SignInTask findById(long taskId);
boolean updateByPrimaryKey(SignInTask signInTask);
} }
...@@ -4,14 +4,16 @@ import java.io.Serializable; ...@@ -4,14 +4,16 @@ import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import com.xxdxxs.entity.Entity;
import lombok.Data; import lombok.Data;
/** /**
* @author shiyu * @author shiyu
* @date 2024/12/19 * @date 2024/12/25
*/ */
@Data @Data
public class QdUserSignInTask implements Serializable { public class QdUserSignInTask implements Entity {
private Long id; private Long id;
/** /**
...@@ -32,7 +34,7 @@ public class QdUserSignInTask implements Serializable { ...@@ -32,7 +34,7 @@ public class QdUserSignInTask implements Serializable {
/** /**
* 创建时间 * 创建时间
*/ */
private Date createTimeTime; private Date createTime;
/** /**
* 更新时间 * 更新时间
...@@ -61,7 +63,7 @@ public class QdUserSignInTask implements Serializable { ...@@ -61,7 +63,7 @@ public class QdUserSignInTask implements Serializable {
sb.append(", userId=").append(userId); sb.append(", userId=").append(userId);
sb.append(", taskId=").append(taskId); sb.append(", taskId=").append(taskId);
sb.append(", isSelf=").append(isSelf); sb.append(", isSelf=").append(isSelf);
sb.append(", createTimeTime=").append(createTimeTime); sb.append(", createTime=").append(createTime);
sb.append(", updateTime=").append(updateTime); sb.append(", updateTime=").append(updateTime);
sb.append(", isValid=").append(isValid); sb.append(", isValid=").append(isValid);
sb.append(", state=").append(state); sb.append(", state=").append(state);
...@@ -86,7 +88,7 @@ public class QdUserSignInTask implements Serializable { ...@@ -86,7 +88,7 @@ public class QdUserSignInTask implements Serializable {
&& (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId())) && (this.getUserId() == null ? other.getUserId() == null : this.getUserId().equals(other.getUserId()))
&& (this.getTaskId() == null ? other.getTaskId() == null : this.getTaskId().equals(other.getTaskId())) && (this.getTaskId() == null ? other.getTaskId() == null : this.getTaskId().equals(other.getTaskId()))
&& (this.getIsSelf() == null ? other.getIsSelf() == null : this.getIsSelf().equals(other.getIsSelf())) && (this.getIsSelf() == null ? other.getIsSelf() == null : this.getIsSelf().equals(other.getIsSelf()))
&& (this.getCreateTimeTime() == null ? other.getCreateTimeTime() == null : this.getCreateTimeTime().equals(other.getCreateTimeTime())) && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
&& (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime())) && (this.getUpdateTime() == null ? other.getUpdateTime() == null : this.getUpdateTime().equals(other.getUpdateTime()))
&& (this.getIsValid() == null ? other.getIsValid() == null : this.getIsValid().equals(other.getIsValid())) && (this.getIsValid() == null ? other.getIsValid() == null : this.getIsValid().equals(other.getIsValid()))
&& (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState())); && (this.getState() == null ? other.getState() == null : this.getState().equals(other.getState()));
...@@ -100,7 +102,7 @@ public class QdUserSignInTask implements Serializable { ...@@ -100,7 +102,7 @@ public class QdUserSignInTask implements Serializable {
result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode()); result = prime * result + ((getUserId() == null) ? 0 : getUserId().hashCode());
result = prime * result + ((getTaskId() == null) ? 0 : getTaskId().hashCode()); result = prime * result + ((getTaskId() == null) ? 0 : getTaskId().hashCode());
result = prime * result + ((getIsSelf() == null) ? 0 : getIsSelf().hashCode()); result = prime * result + ((getIsSelf() == null) ? 0 : getIsSelf().hashCode());
result = prime * result + ((getCreateTimeTime() == null) ? 0 : getCreateTimeTime().hashCode()); result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode()); result = prime * result + ((getUpdateTime() == null) ? 0 : getUpdateTime().hashCode());
result = prime * result + ((getIsValid() == null) ? 0 : getIsValid().hashCode()); result = prime * result + ((getIsValid() == null) ? 0 : getIsValid().hashCode());
result = prime * result + ((getState() == null) ? 0 : getState().hashCode()); result = prime * result + ((getState() == null) ? 0 : getState().hashCode());
...@@ -119,7 +121,7 @@ public class QdUserSignInTask implements Serializable { ...@@ -119,7 +121,7 @@ public class QdUserSignInTask implements Serializable {
userId("user_id", "userId", "BIGINT", false), userId("user_id", "userId", "BIGINT", false),
taskId("task_id", "taskId", "BIGINT", false), taskId("task_id", "taskId", "BIGINT", false),
isSelf("is_self", "isSelf", "BIT", false), isSelf("is_self", "isSelf", "BIT", false),
createTimeTime("create_time_time", "createTimeTime", "TIMESTAMP", false), createTime("create_time", "createTime", "TIMESTAMP", false),
updateTime("update_time", "updateTime", "TIMESTAMP", false), updateTime("update_time", "updateTime", "TIMESTAMP", false),
isValid("is_valid", "isValid", "BIT", false), isValid("is_valid", "isValid", "BIT", false),
state("state", "state", "INTEGER", true); state("state", "state", "INTEGER", true);
......
...@@ -676,18 +676,18 @@ public class QdUserSignInTaskExample { ...@@ -676,18 +676,18 @@ public class QdUserSignInTaskExample {
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeIsNull() { public Criteria andCreateTimeIsNull() {
addCriterion("create_time_time is null"); addCriterion("create_time is null");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeIsNotNull() { public Criteria andCreateTimeIsNotNull() {
addCriterion("create_time_time is not null"); addCriterion("create_time is not null");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeEqualTo(Date value) { public Criteria andCreateTimeEqualTo(Date value) {
addCriterion("create_time_time =", value, "createTimeTime"); addCriterion("create_time =", value, "createTime");
return (Criteria) this; return (Criteria) this;
} }
...@@ -698,13 +698,13 @@ public class QdUserSignInTaskExample { ...@@ -698,13 +698,13 @@ public class QdUserSignInTaskExample {
* @mbg.generated * @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin * @project https://github.com/itfsw/mybatis-generator-plugin
*/ */
public Criteria andCreateTimeTimeEqualToColumn(QdUserSignInTask.Column column) { public Criteria andCreateTimeEqualToColumn(QdUserSignInTask.Column column) {
addCriterion(new StringBuilder("create_time_time = ").append(column.getEscapedColumnName()).toString()); addCriterion(new StringBuilder("create_time = ").append(column.getEscapedColumnName()).toString());
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeNotEqualTo(Date value) { public Criteria andCreateTimeNotEqualTo(Date value) {
addCriterion("create_time_time <>", value, "createTimeTime"); addCriterion("create_time <>", value, "createTime");
return (Criteria) this; return (Criteria) this;
} }
...@@ -715,13 +715,13 @@ public class QdUserSignInTaskExample { ...@@ -715,13 +715,13 @@ public class QdUserSignInTaskExample {
* @mbg.generated * @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin * @project https://github.com/itfsw/mybatis-generator-plugin
*/ */
public Criteria andCreateTimeTimeNotEqualToColumn(QdUserSignInTask.Column column) { public Criteria andCreateTimeNotEqualToColumn(QdUserSignInTask.Column column) {
addCriterion(new StringBuilder("create_time_time <> ").append(column.getEscapedColumnName()).toString()); addCriterion(new StringBuilder("create_time <> ").append(column.getEscapedColumnName()).toString());
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeGreaterThan(Date value) { public Criteria andCreateTimeGreaterThan(Date value) {
addCriterion("create_time_time >", value, "createTimeTime"); addCriterion("create_time >", value, "createTime");
return (Criteria) this; return (Criteria) this;
} }
...@@ -732,13 +732,13 @@ public class QdUserSignInTaskExample { ...@@ -732,13 +732,13 @@ public class QdUserSignInTaskExample {
* @mbg.generated * @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin * @project https://github.com/itfsw/mybatis-generator-plugin
*/ */
public Criteria andCreateTimeTimeGreaterThanColumn(QdUserSignInTask.Column column) { public Criteria andCreateTimeGreaterThanColumn(QdUserSignInTask.Column column) {
addCriterion(new StringBuilder("create_time_time > ").append(column.getEscapedColumnName()).toString()); addCriterion(new StringBuilder("create_time > ").append(column.getEscapedColumnName()).toString());
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeGreaterThanOrEqualTo(Date value) { public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
addCriterion("create_time_time >=", value, "createTimeTime"); addCriterion("create_time >=", value, "createTime");
return (Criteria) this; return (Criteria) this;
} }
...@@ -749,13 +749,13 @@ public class QdUserSignInTaskExample { ...@@ -749,13 +749,13 @@ public class QdUserSignInTaskExample {
* @mbg.generated * @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin * @project https://github.com/itfsw/mybatis-generator-plugin
*/ */
public Criteria andCreateTimeTimeGreaterThanOrEqualToColumn(QdUserSignInTask.Column column) { public Criteria andCreateTimeGreaterThanOrEqualToColumn(QdUserSignInTask.Column column) {
addCriterion(new StringBuilder("create_time_time >= ").append(column.getEscapedColumnName()).toString()); addCriterion(new StringBuilder("create_time >= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeLessThan(Date value) { public Criteria andCreateTimeLessThan(Date value) {
addCriterion("create_time_time <", value, "createTimeTime"); addCriterion("create_time <", value, "createTime");
return (Criteria) this; return (Criteria) this;
} }
...@@ -766,13 +766,13 @@ public class QdUserSignInTaskExample { ...@@ -766,13 +766,13 @@ public class QdUserSignInTaskExample {
* @mbg.generated * @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin * @project https://github.com/itfsw/mybatis-generator-plugin
*/ */
public Criteria andCreateTimeTimeLessThanColumn(QdUserSignInTask.Column column) { public Criteria andCreateTimeLessThanColumn(QdUserSignInTask.Column column) {
addCriterion(new StringBuilder("create_time_time < ").append(column.getEscapedColumnName()).toString()); addCriterion(new StringBuilder("create_time < ").append(column.getEscapedColumnName()).toString());
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeLessThanOrEqualTo(Date value) { public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
addCriterion("create_time_time <=", value, "createTimeTime"); addCriterion("create_time <=", value, "createTime");
return (Criteria) this; return (Criteria) this;
} }
...@@ -783,28 +783,28 @@ public class QdUserSignInTaskExample { ...@@ -783,28 +783,28 @@ public class QdUserSignInTaskExample {
* @mbg.generated * @mbg.generated
* @project https://github.com/itfsw/mybatis-generator-plugin * @project https://github.com/itfsw/mybatis-generator-plugin
*/ */
public Criteria andCreateTimeTimeLessThanOrEqualToColumn(QdUserSignInTask.Column column) { public Criteria andCreateTimeLessThanOrEqualToColumn(QdUserSignInTask.Column column) {
addCriterion(new StringBuilder("create_time_time <= ").append(column.getEscapedColumnName()).toString()); addCriterion(new StringBuilder("create_time <= ").append(column.getEscapedColumnName()).toString());
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeIn(List<Date> values) { public Criteria andCreateTimeIn(List<Date> values) {
addCriterion("create_time_time in", values, "createTimeTime"); addCriterion("create_time in", values, "createTime");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeNotIn(List<Date> values) { public Criteria andCreateTimeNotIn(List<Date> values) {
addCriterion("create_time_time not in", values, "createTimeTime"); addCriterion("create_time not in", values, "createTime");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeBetween(Date value1, Date value2) { public Criteria andCreateTimeBetween(Date value1, Date value2) {
addCriterion("create_time_time between", value1, value2, "createTimeTime"); addCriterion("create_time between", value1, value2, "createTime");
return (Criteria) this; return (Criteria) this;
} }
public Criteria andCreateTimeTimeNotBetween(Date value1, Date value2) { public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
addCriterion("create_time_time not between", value1, value2, "createTimeTime"); addCriterion("create_time not between", value1, value2, "createTime");
return (Criteria) this; return (Criteria) this;
} }
......
...@@ -24,7 +24,7 @@ public class QdUserSignInTaskRequestDto extends BaseRequestDto implements Entity ...@@ -24,7 +24,7 @@ public class QdUserSignInTaskRequestDto extends BaseRequestDto implements Entity
/** /**
* 创建时间 * 创建时间
*/ */
private Date createTimeTime; private Date createTime;
/** /**
* 更新时间 * 更新时间
......
...@@ -4,6 +4,7 @@ import com.wwdz.ch.db.dto.request.BaseRequestDto; ...@@ -4,6 +4,7 @@ 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;
import java.util.List;
@Data @Data
...@@ -31,6 +32,11 @@ public class SignInTaskRequestDto extends BaseRequestDto implements Entity { ...@@ -31,6 +32,11 @@ public class SignInTaskRequestDto extends BaseRequestDto implements Entity {
*/ */
private Date endValidTime; private Date endValidTime;
/**
* 用于已经过期的任务
*/
private Date filterEndValidTime;
/** /**
* 打卡开始时间 * 打卡开始时间
*/ */
...@@ -56,6 +62,8 @@ public class SignInTaskRequestDto extends BaseRequestDto implements Entity { ...@@ -56,6 +62,8 @@ public class SignInTaskRequestDto extends BaseRequestDto implements Entity {
*/ */
private Integer state; private Integer state;
private List<Integer> stateList;
/** /**
* 描述 * 描述
*/ */
......
...@@ -45,4 +45,14 @@ public class QdUserSignInTaskDaoImpl implements QdUserSignInTaskDao { ...@@ -45,4 +45,14 @@ public class QdUserSignInTaskDaoImpl implements QdUserSignInTaskDao {
criteria.andIsValidEqualTo(true); criteria.andIsValidEqualTo(true);
return qdUserSignInTaskMapper.countByExample(example); return qdUserSignInTaskMapper.countByExample(example);
} }
@Override
public long countByTaskId(long taskId) {
QdUserSignInTaskExample example = new QdUserSignInTaskExample();
QdUserSignInTaskExample.Criteria criteria = example.createCriteria();
criteria.andTaskIdEqualTo(taskId);
criteria.andIsValidEqualTo(true);
return qdUserSignInTaskMapper.countByExample(example);
}
} }
...@@ -33,6 +33,10 @@ public class SignInTaskDaoImpl implements SignInTaskDao { ...@@ -33,6 +33,10 @@ public class SignInTaskDaoImpl implements SignInTaskDao {
SignInTaskExample example = new SignInTaskExample(); SignInTaskExample example = new SignInTaskExample();
SignInTaskExample.Criteria criteria = example.createCriteria(); SignInTaskExample.Criteria criteria = example.createCriteria();
JdbcHelper.ifPresent(dto.getCreatorId(), criteria :: andCreatorIdEqualTo); JdbcHelper.ifPresent(dto.getCreatorId(), criteria :: andCreatorIdEqualTo);
JdbcHelper.ifPresent(dto.getFilterEndValidTime(), criteria :: andEndValidTimeLessThanOrEqualTo);
JdbcHelper.ifPresent(dto.getType(), criteria :: andTypeEqualTo);
JdbcHelper.ifPresent(dto.getState(), criteria :: andStateEqualTo);
JdbcHelper.ifPresent(dto.getStateList(), criteria :: andStateIn);
PageHelper.startPage(dto.getPage(), dto.getLimit()); PageHelper.startPage(dto.getPage(), dto.getLimit());
example.setOrderByClause("create_time desc"); example.setOrderByClause("create_time desc");
return signInTaskMapper.selectByExample(example); return signInTaskMapper.selectByExample(example);
...@@ -43,4 +47,9 @@ public class SignInTaskDaoImpl implements SignInTaskDao { ...@@ -43,4 +47,9 @@ public class SignInTaskDaoImpl implements SignInTaskDao {
public SignInTask findById(long taskId) { public SignInTask findById(long taskId) {
return signInTaskMapper.selectByPrimaryKey(taskId); return signInTaskMapper.selectByPrimaryKey(taskId);
} }
@Override
public boolean updateByPrimaryKey(SignInTask signInTask) {
return signInTaskMapper.updateByPrimaryKey(signInTask) > 0;
}
} }
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<result column="user_id" jdbcType="BIGINT" property="userId" /> <result column="user_id" jdbcType="BIGINT" property="userId" />
<result column="task_id" jdbcType="BIGINT" property="taskId" /> <result column="task_id" jdbcType="BIGINT" property="taskId" />
<result column="is_self" jdbcType="BIT" property="isSelf" /> <result column="is_self" jdbcType="BIT" property="isSelf" />
<result column="create_time_time" jdbcType="TIMESTAMP" property="createTimeTime" /> <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" /> <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="is_valid" jdbcType="BIT" property="isValid" /> <result column="is_valid" jdbcType="BIT" property="isValid" />
<result column="state" jdbcType="INTEGER" property="state" /> <result column="state" jdbcType="INTEGER" property="state" />
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
</where> </where>
</sql> </sql>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, user_id, task_id, is_self, create_time_time, update_time, is_valid, `state` id, user_id, task_id, is_self, create_time, update_time, is_valid, `state`
</sql> </sql>
<select id="selectByExample" parameterType="com.wwdz.ch.db.domain.qiandao.QdUserSignInTaskExample" resultMap="BaseResultMap"> <select id="selectByExample" parameterType="com.wwdz.ch.db.domain.qiandao.QdUserSignInTaskExample" resultMap="BaseResultMap">
select select
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
</foreach> </foreach>
</when> </when>
<otherwise> <otherwise>
id, user_id, task_id, is_self, create_time_time, update_time, is_valid, `state` id, user_id, task_id, is_self, create_time, update_time, is_valid, `state`
</otherwise> </otherwise>
</choose> </choose>
from qd_user_sign_in_task from qd_user_sign_in_task
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
</foreach> </foreach>
</when> </when>
<otherwise> <otherwise>
id, user_id, task_id, is_self, create_time_time, update_time, is_valid, `state` id, user_id, task_id, is_self, create_time, update_time, is_valid, `state`
</otherwise> </otherwise>
</choose> </choose>
from qd_user_sign_in_task from qd_user_sign_in_task
...@@ -157,10 +157,10 @@ ...@@ -157,10 +157,10 @@
SELECT LAST_INSERT_ID() SELECT LAST_INSERT_ID()
</selectKey> </selectKey>
insert into qd_user_sign_in_task (user_id, task_id, is_self, insert into qd_user_sign_in_task (user_id, task_id, is_self,
create_time_time, update_time, is_valid, create_time, update_time, is_valid,
`state`) `state`)
values (#{userId,jdbcType=BIGINT}, #{taskId,jdbcType=BIGINT}, #{isSelf,jdbcType=BIT}, values (#{userId,jdbcType=BIGINT}, #{taskId,jdbcType=BIGINT}, #{isSelf,jdbcType=BIT},
#{createTimeTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{isValid,jdbcType=BIT}, #{createTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP}, #{isValid,jdbcType=BIT},
#{state,jdbcType=INTEGER}) #{state,jdbcType=INTEGER})
</insert> </insert>
<insert id="insertSelective" parameterType="com.wwdz.ch.db.domain.qiandao.QdUserSignInTask"> <insert id="insertSelective" parameterType="com.wwdz.ch.db.domain.qiandao.QdUserSignInTask">
...@@ -178,8 +178,8 @@ ...@@ -178,8 +178,8 @@
<if test="isSelf != null"> <if test="isSelf != null">
is_self, is_self,
</if> </if>
<if test="createTimeTime != null"> <if test="createTime != null">
create_time_time, create_time,
</if> </if>
<if test="updateTime != null"> <if test="updateTime != null">
update_time, update_time,
...@@ -201,8 +201,8 @@ ...@@ -201,8 +201,8 @@
<if test="isSelf != null"> <if test="isSelf != null">
#{isSelf,jdbcType=BIT}, #{isSelf,jdbcType=BIT},
</if> </if>
<if test="createTimeTime != null"> <if test="createTime != null">
#{createTimeTime,jdbcType=TIMESTAMP}, #{createTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="updateTime != null"> <if test="updateTime != null">
#{updateTime,jdbcType=TIMESTAMP}, #{updateTime,jdbcType=TIMESTAMP},
...@@ -236,8 +236,8 @@ ...@@ -236,8 +236,8 @@
<if test="record.isSelf != null"> <if test="record.isSelf != null">
is_self = #{record.isSelf,jdbcType=BIT}, is_self = #{record.isSelf,jdbcType=BIT},
</if> </if>
<if test="record.createTimeTime != null"> <if test="record.createTime != null">
create_time_time = #{record.createTimeTime,jdbcType=TIMESTAMP}, create_time = #{record.createTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="record.updateTime != null"> <if test="record.updateTime != null">
update_time = #{record.updateTime,jdbcType=TIMESTAMP}, update_time = #{record.updateTime,jdbcType=TIMESTAMP},
...@@ -259,7 +259,7 @@ ...@@ -259,7 +259,7 @@
user_id = #{record.userId,jdbcType=BIGINT}, user_id = #{record.userId,jdbcType=BIGINT},
task_id = #{record.taskId,jdbcType=BIGINT}, task_id = #{record.taskId,jdbcType=BIGINT},
is_self = #{record.isSelf,jdbcType=BIT}, is_self = #{record.isSelf,jdbcType=BIT},
create_time_time = #{record.createTimeTime,jdbcType=TIMESTAMP}, create_time = #{record.createTime,jdbcType=TIMESTAMP},
update_time = #{record.updateTime,jdbcType=TIMESTAMP}, update_time = #{record.updateTime,jdbcType=TIMESTAMP},
is_valid = #{record.isValid,jdbcType=BIT}, is_valid = #{record.isValid,jdbcType=BIT},
`state` = #{record.state,jdbcType=INTEGER} `state` = #{record.state,jdbcType=INTEGER}
...@@ -279,8 +279,8 @@ ...@@ -279,8 +279,8 @@
<if test="isSelf != null"> <if test="isSelf != null">
is_self = #{isSelf,jdbcType=BIT}, is_self = #{isSelf,jdbcType=BIT},
</if> </if>
<if test="createTimeTime != null"> <if test="createTime != null">
create_time_time = #{createTimeTime,jdbcType=TIMESTAMP}, create_time = #{createTime,jdbcType=TIMESTAMP},
</if> </if>
<if test="updateTime != null"> <if test="updateTime != null">
update_time = #{updateTime,jdbcType=TIMESTAMP}, update_time = #{updateTime,jdbcType=TIMESTAMP},
...@@ -299,7 +299,7 @@ ...@@ -299,7 +299,7 @@
set user_id = #{userId,jdbcType=BIGINT}, set user_id = #{userId,jdbcType=BIGINT},
task_id = #{taskId,jdbcType=BIGINT}, task_id = #{taskId,jdbcType=BIGINT},
is_self = #{isSelf,jdbcType=BIT}, is_self = #{isSelf,jdbcType=BIT},
create_time_time = #{createTimeTime,jdbcType=TIMESTAMP}, create_time = #{createTime,jdbcType=TIMESTAMP},
update_time = #{updateTime,jdbcType=TIMESTAMP}, update_time = #{updateTime,jdbcType=TIMESTAMP},
is_valid = #{isValid,jdbcType=BIT}, is_valid = #{isValid,jdbcType=BIT},
`state` = #{state,jdbcType=INTEGER} `state` = #{state,jdbcType=INTEGER}
...@@ -338,7 +338,7 @@ ...@@ -338,7 +338,7 @@
</foreach> </foreach>
</when> </when>
<otherwise> <otherwise>
id, user_id, task_id, is_self, create_time_time, update_time, is_valid, `state` id, user_id, task_id, is_self, create_time, update_time, is_valid, `state`
</otherwise> </otherwise>
</choose> </choose>
from qd_user_sign_in_task from qd_user_sign_in_task
......
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
<javaClientGenerator type="XMLMAPPER" targetPackage="com.wwdz.ch.db.mapper.qiandao" <javaClientGenerator type="XMLMAPPER" targetPackage="com.wwdz.ch.db.mapper.qiandao"
targetProject="ch-dao/src/main/java"/> targetProject="ch-dao/src/main/java"/>
<table tableName="qd_user_sign_in_note" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true"> <table tableName="qd_user_sign_in_task" enableCountByExample="true" enableUpdateByExample="true" enableDeleteByExample="true" enableSelectByExample="true" selectByExampleQueryId="true">
<generatedKey column="id" sqlStatement="Mysql" identity="true" /> <generatedKey column="id" sqlStatement="Mysql" identity="true" />
</table> </table>
......
package com.wwdz.ch.wx.entity.vo.qiandao;
import com.xxdxxs.entity.Entity;
import lombok.Data;
import java.util.Date;
@Data
public class SignInTaskVo implements Entity {
private Long id;
/**
* 签到任务名称
*/
private String name;
/**
* 图片
*/
private String image;
/**
* 开始生效时间
*/
private Date startValidTime;
/**
* 有效截止时间
*/
private Date endValidTime;
/**
* 打卡开始时间
*/
private Date signInStartTime;
/**
* 打卡结束时间
*/
private Date signInEndTime;
/**
* 打卡目标天数
*/
private Integer goalDays;
/**
* 打开类型(1连续,2累计)
*/
private Integer type;
/**
* 状态
*/
private Integer state;
/**
* 描述
*/
private String desc;
/**
* 创建人id
*/
private Long creatorId;
/**
* 创建时间
*/
private Date createTime;
/**
* 更新时间
*/
private Date updateTime;
/**
* 是否私有
*/
private Boolean isPrivate;
/**
* 是否有奖励
*/
private Boolean hasReward;
/**
* 参加的人数
*/
private Long joinPeopleNum;
/**
* 今天是否签到
*/
private Boolean isTodaySignIn = false;
}
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.QdSignInTaskService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service
public class QdSignInTaskServiceImpl implements QdSignInTaskService {
private static final Logger logger = LoggerFactory.getLogger(QdSignInTaskServiceImpl.class);
@Autowired
SignInTaskDao signInTaskDao;
@Override
public Result add(SignInTaskRequestDto dto) {
try {
Date now = new Date();
SignInTask signInTask = new SignInTask();
signInTask.setState(SignInTaskEnum.StateEnum.PROCESSING.getCode());
signInTask.setName(dto.getName());
signInTask.setDesc(dto.getDesc());
signInTask.setCreateTime(now);
signInTask.setUpdateTime(now);
signInTaskDao.insert(signInTask);
return Result.success();
} catch (Exception e) {
logger.error("创建签到任务失败 error:{}", e);
}
return Result.failed();
}
}
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.QdUserSignInDao;
import com.wwdz.ch.db.dao.qiandao.QdUserSignInTaskDao;
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.QdUserSignInTaskRequestDto;
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.QdUserSignInTaskService;
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.*;
@Service
public class QdUserSignInTaskServiceImpl implements QdUserSignInTaskService {
private static final Logger logger = LoggerFactory.getLogger(QdUserSignInTaskServiceImpl.class);
@Autowired
QdUserSignInDao qdUserSignInDao;
@Autowired
SignInTaskDao signInTaskDao;
@Autowired
QdUserSignInTaskDao qdUserSignInTaskDao;
@Override
public Result join(QdUserSignInTaskRequestDto dto) {
try {
SignInTask signInTask = signInTaskDao.findById(dto.getTaskId());
QdUserSignInTask qdUserSignInTask = new QdUserSignInTask();
qdUserSignInTask.setUserId(dto.getUserId());
qdUserSignInTask.setTaskId(dto.getTaskId());
qdUserSignInTask.setIsSelf(signInTask.getCreatorId() == dto.getUserId().longValue());
qdUserSignInTask.setCreateTime(new Date());
qdUserSignInTask.setUpdateTime(new Date());
qdUserSignInTask.setIsValid(true);
qdUserSignInTask.setState(SignInTaskEnum.StateEnum.PROCESSING.getCode());
qdUserSignInTaskDao.insert(qdUserSignInTask);
return Result.success();
} catch (Exception e) {
logger.error("加入签到任务 error:{}", e);
}
return Result.failed();
}
@Override
public Result findTaskList(QdUserSignInTaskRequestDto dto) {
try {
Map<String, Object> map = new HashMap<>();
List<SignInTaskVo> selfTaskVoList = new ArrayList<>();
//查询自己创建的任务
dto.setIsSelf(true);
List<QdUserSignInTask> selfTaskList = qdUserSignInTaskDao.findByPage(dto);
for (QdUserSignInTask qdUserSignInTask : selfTaskList) {
SignInTaskVo signInTaskVo = new SignInTaskVo();
SignInTask signInTask = signInTaskDao.findById(qdUserSignInTask.getTaskId());
EntityMapper.copyAttribute(signInTask, signInTaskVo);
QdUserSignIn qdUserSignIn = qdUserSignInDao.findTodayRecord(qdUserSignInTask.getUserId(), qdUserSignInTask.getTaskId());
if (qdUserSignIn != null) {
signInTaskVo.setIsTodaySignIn(true);
}
selfTaskVoList.add(signInTaskVo);
}
map.put("selfTaskVoList", selfTaskVoList);
//查询其它参加的任务
List<SignInTaskVo> otherTaskVoList = new ArrayList<>();
dto.setIsSelf(false);
List<QdUserSignInTask> taskList = qdUserSignInTaskDao.findByPage(dto);
for (QdUserSignInTask qdUserSignInTask : taskList) {
SignInTaskVo signInTaskVo = new SignInTaskVo();
SignInTask signInTask = signInTaskDao.findById(qdUserSignInTask.getTaskId());
EntityMapper.copyAttribute(signInTask, signInTaskVo);
long joinPeopleNum = qdUserSignInTaskDao.countByTaskId(qdUserSignInTask.getTaskId());
signInTaskVo.setJoinPeopleNum(joinPeopleNum);
QdUserSignIn qdUserSignIn = qdUserSignInDao.findTodayRecord(qdUserSignInTask.getUserId(), qdUserSignInTask.getTaskId());
if (qdUserSignIn != null) {
signInTaskVo.setIsTodaySignIn(true);
}
otherTaskVoList.add(signInTaskVo);
}
map.put("otherTaskVoList", otherTaskVoList);
return Result.success(map);
} catch (Exception e) {
logger.error("查询用户签到任务列表 error:{}", e);
}
return Result.failed();
}
private void checkInvalidTask() {
Date now = new Date();
SignInTaskRequestDto signInTaskRequestDto = new SignInTaskRequestDto();
signInTaskRequestDto.setStateList(Arrays.asList(SignInTaskEnum.StateEnum.NOT_START.getCode(), SignInTaskEnum.StateEnum.PROCESSING.getCode()));
List<SignInTask> signInTaskList = signInTaskDao.findByPage(signInTaskRequestDto);
for (SignInTask signInTask : signInTaskList) {
if (signInTask.getState().intValue() == SignInTaskEnum.StateEnum.PROCESSING.getCode() && signInTask.getEndValidTime().before(now)) {
SignInTask updateDto = new SignInTask();
updateDto.setId(signInTask.getId());
updateDto.setState(SignInTaskEnum.StateEnum.END.getCode());
signInTaskDao.updateByPrimaryKey(updateDto);
} else if (signInTask.getState().intValue() == SignInTaskEnum.StateEnum.NOT_START.getCode() && signInTask.getStartValidTime().after(now)) {
SignInTask updateDto = new SignInTask();
updateDto.setId(signInTask.getId());
updateDto.setState(SignInTaskEnum.StateEnum.PROCESSING.getCode());
signInTaskDao.updateByPrimaryKey(updateDto);
}
}
}
}
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.core.type.Result;
import com.wwdz.ch.db.domain.qiandao.QdUserSignInNote;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInNoteRequestDto;
import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto; import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto;
public interface QdHomePageService { public interface QdHomePageService {
......
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 QdSignInTaskService {
/**
* 创建签到任务
* @param dto
* @return
*/
Result add(SignInTaskRequestDto dto);
}
...@@ -8,5 +8,10 @@ import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInNoteRequestDto; ...@@ -8,5 +8,10 @@ import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInNoteRequestDto;
*/ */
public interface QdUserSignInNoteService { public interface QdUserSignInNoteService {
/**
* 查询用户签到笔记
* @param dto
* @return
*/
Result findSignInNoteList(QdUserSignInNoteRequestDto dto); Result findSignInNoteList(QdUserSignInNoteRequestDto dto);
} }
package com.wwdz.ch.wx.service.qiandao;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInTaskRequestDto;
public interface QdUserSignInTaskService {
/**
* 参加任务
* @param dto
* @return
*/
Result join(QdUserSignInTaskRequestDto dto);
/**
* 查询用户参加的签到任务
* @param dto
* @return
*/
Result findTaskList(QdUserSignInTaskRequestDto dto);
}
package com.wwdz.ch.wx.web.qiandao;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.consts.ResultCode;
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.service.qiandao.QdHomePageService;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/wx/qdHomePage")
public class QdHomePageController {
private static final Logger logger = LoggerFactory.getLogger(QdHomePageController.class);
@Autowired
private QdHomePageService qdHomePageService;
@ApiOperation(value = "查询首页展示的用户信息")
@PostMapping("/findUserInfo")
public Result findUserInfo(@RequestBody QdHomePageRequestDto dto) {
logger.info("【请求开始】查询首页展示的用户信息,请求参数:{}", JSON.toJSONString(dto));
return qdHomePageService.findUserInfo(dto);
}
}
package com.wwdz.ch.wx.web.qiandao;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto;
import com.wwdz.ch.wx.service.qiandao.QdHomePageService;
import com.wwdz.ch.wx.service.qiandao.QdSignInTaskService;
import com.xxdxxs.service.FormHandler;
import com.xxdxxs.validation.Validator;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/wx/qdSignInTask")
public class QdSignInTaskController {
private static final Logger logger = LoggerFactory.getLogger(QdHomePageController.class);
@Autowired
private QdSignInTaskService qdSignInTaskService;
@ApiOperation(value = "创建签到任务")
@PostMapping("/add")
public Result add(@RequestBody SignInTaskRequestDto dto) {
logger.info("【请求开始】创建签到任务,请求参数:{}", JSON.toJSONString(dto));
Validator validator = new Validator(FormHandler.ofEntity(dto));
validator.set("userId", "用户id").must().number()
.set("name", "名称").must().string()
.end();
if (!validator.isValid()) {
return Result.failed(ResultCode.PARAM_ERROR);
}
return qdSignInTaskService.add(dto);
}
}
package com.wwdz.ch.wx.web.qiandao;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInNoteRequestDto;
import com.wwdz.ch.wx.entity.request.QdHomePageRequestDto;
import com.wwdz.ch.wx.service.qiandao.QdHomePageService;
import com.wwdz.ch.wx.service.qiandao.QdUserSignInNoteService;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/wx/qdUserSignInNote")
public class QdUserSignInNoteController {
private static final Logger logger = LoggerFactory.getLogger(QdHomePageController.class);
@Autowired
private QdUserSignInNoteService qdUserSignInNoteService;
@ApiOperation(value = "查询用户签到笔记")
@PostMapping("/findSignInNoteList")
public Result findSignInNoteList(@RequestBody QdUserSignInNoteRequestDto dto) {
logger.info("【请求开始】查询用户签到笔记,请求参数:{}", JSON.toJSONString(dto));
return qdUserSignInNoteService.findSignInNoteList(dto);
}
}
package com.wwdz.ch.wx.web.qiandao;
import com.alibaba.fastjson.JSON;
import com.wwdz.ch.core.consts.ResultCode;
import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.db.dto.request.qiandao.QdUserSignInTaskRequestDto;
import com.wwdz.ch.db.dto.request.qiandao.SignInTaskRequestDto;
import com.wwdz.ch.wx.service.qiandao.QdSignInTaskService;
import com.wwdz.ch.wx.service.qiandao.QdUserSignInTaskService;
import com.xxdxxs.service.FormHandler;
import com.xxdxxs.validation.Validator;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/wx/qdUserSignInTask")
public class QdUserSignInTaskController {
private static final Logger logger = LoggerFactory.getLogger(QdHomePageController.class);
@Autowired
private QdUserSignInTaskService qdUserSignInTaskService;
@ApiOperation(value = "参加任务")
@PostMapping("/add")
public Result add(@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.join(dto);
}
@ApiOperation(value = "查询用户参加的签到任务")
@PostMapping("/findTaskList")
public Result findTaskList(@RequestBody QdUserSignInTaskRequestDto 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 qdUserSignInTaskService.findTaskList(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