Commit 748fad32 by 裴大威

Merge branch 'feat-1002508' into 'master'

多个进度单

See merge request rays/pcloud-book!523
parents a8af2672 45acbe71
......@@ -59,7 +59,7 @@ public interface PersonalStageBiz {
void dealDelayFusingFinish(DelayQueueDTO dto);
PersonalStageProgressDTO getPersonalProgress(String wxUserId, Long personalStageUserId);
PersonalStageProgressDTO getPersonalProgress(String wxUserId, Long personalStageUserId, Long progressId);
/**
* 增加进度值
......
......@@ -9,7 +9,6 @@ import com.pcloud.book.personalstage.vo.request.UpdateStageJumpRequestVO;
import com.pcloud.common.core.mq.DelayQueueDTO;
import com.pcloud.common.page.PageBeanNew;
import java.util.List;
import java.util.Map;
public interface PersonalStageJumpBiz {
......@@ -65,7 +64,7 @@ public interface PersonalStageJumpBiz {
/**
* 进度单发送时添加未点链接回复延迟
*/
public void addProgressDelay(String userWxId, String robotWxId, String ip);
public void addProgressDelay(String userWxId, String robotWxId, String ip, Integer personalStageProgress1);
/**
* 添加点击记录
......
package com.pcloud.book.personalstage.biz;
import com.pcloud.book.personalstage.dto.PersonalStageProgressDTO;
import com.pcloud.book.personalstage.entity.PersonalStageProgressMessage;
import com.pcloud.common.page.PageBeanNew;
import java.util.List;
......@@ -23,7 +24,7 @@ public interface PersonalStageProgressMessageBiz {
/**
* 分页查询
*/
List<PersonalStageProgressMessage> getProgressMessageList();
List<PersonalStageProgressMessage> getProgressMessageList(Integer progressId);
/**
* 新增数据
......@@ -41,4 +42,9 @@ public interface PersonalStageProgressMessageBiz {
*/
void deleteById(Long id);
/**
* 获取进度单列表
* @return
*/
List<PersonalStageProgressDTO> getProgressList();
}
\ No newline at end of file
......@@ -698,19 +698,37 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
@ParamLog("尝试插入单号")
private void tryInsertNumber(Long personalStageUserId) {
PersonalStageUser personalStageUser = personalStageUserDao.getById(personalStageUserId);
if (StringUtil.isEmpty(personalStageUser.getRequireNumber())){
String requireNumber = DateUtils.formatDate(new Date(), "yyyyMMddHHmmss").concat(String.valueOf((int)((Math.random()*9+1)*100000)));
personalStageUserDao.updateRequireNumber(personalStageUserId, requireNumber);
}
}
@Override
@ParamLog("替换进度链接")
public String replaceProjectProgressUrl(String content, String robotId, String userWxId, Long personalStageUserId, String ip) {
if(content.indexOf(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE) > -1){
if(content.indexOf(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_1) > -1){
tryInsertNumber(personalStageUserId);
String longUrl = wechatLinkPrefix.concat(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS).concat("?wxUserId=" + userWxId +
"&robotId=" + robotId + "&personalStageUserId=" + personalStageUserId + "&progressId=" + PersonalStageConstant.PERSONAL_STAGE_PROGRESS_1);
content = content.replace(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_1, UrlUtils.getShortUrl4Own(longUrl));
//添加进度单回复延迟队列
personalStageJumpBiz.addProgressDelay(userWxId, robotId, ip,PersonalStageConstant.PERSONAL_STAGE_PROGRESS_1);
}else if (content.indexOf(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_2) > -1){
tryInsertNumber(personalStageUserId);
String longUrl = wechatLinkPrefix.concat(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS).concat("?wxUserId=" + userWxId +
"&robotId=" + robotId + "&personalStageUserId=" + personalStageUserId + "&progressId=" + PersonalStageConstant.PERSONAL_STAGE_PROGRESS_2);
content = content.replace(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_2, UrlUtils.getShortUrl4Own(longUrl));
//添加进度单回复延迟队列
personalStageJumpBiz.addProgressDelay(userWxId, robotId, ip, PersonalStageConstant.PERSONAL_STAGE_PROGRESS_2);
}else if (content.indexOf(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_3) > -1){
tryInsertNumber(personalStageUserId);
String longUrl = wechatLinkPrefix.concat(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS).concat("?wxUserId=" + userWxId + "&robotId=" + robotId + "&personalStageUserId=" + personalStageUserId);
content = content.replace(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE, UrlUtils.getShortUrl4Own(longUrl));
String longUrl = wechatLinkPrefix.concat(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS).concat("?wxUserId=" + userWxId +
"&robotId=" + robotId + "&personalStageUserId=" + personalStageUserId + "&progressId=" +PersonalStageConstant.PERSONAL_STAGE_PROGRESS_3);
content = content.replace(PersonalStageConstant.PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_3, UrlUtils.getShortUrl4Own(longUrl));
//添加进度单回复延迟队列
personalStageJumpBiz.addProgressDelay(userWxId, robotId, ip);
personalStageJumpBiz.addProgressDelay(userWxId, robotId, ip, PersonalStageConstant.PERSONAL_STAGE_PROGRESS_3);
}
content = replaceUserSendContent(content, robotId, userWxId);
content = replaceReadingStyle(content, robotId, userWxId);
......@@ -926,7 +944,7 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
}
@Override
public PersonalStageProgressDTO getPersonalProgress(String wxUserId, Long personalStageUserId) {
public PersonalStageProgressDTO getPersonalProgress(String wxUserId, Long personalStageUserId, Long progressId) {
PersonalStageProgressDTO personalStageProgressDTO = new PersonalStageProgressDTO();
PersonalStageUser personalStageUser = personalStageUserDao.getById(personalStageUserId);
if(personalStageUser == null){
......@@ -940,8 +958,9 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
personalStageProgressDTO.setSex(groupUserDTO.getSex());
personalStageProgressDTO.setRequireNumber(personalStageUser.getRequireNumber());
personalStageProgressDTO.setScore(personalStageUser.getScore());
List<PersonalStageProgressMessage> personalStageProgressMessages = personalStageProgressMessageDao.selectAllProgressMessage();
Integer totalProgress = personalStageProgressMessageDao.countProgressMessage();
List<PersonalStageProgressMessage> personalStageProgressMessages =
personalStageProgressMessageDao.getPersonalProgress(startTime,progressId);
Integer totalProgress = personalStageProgressMessageDao.countProgressMessage(progressId);
personalStageProgressDTO.setTotalProgress(totalProgress == null ? 0 : totalProgress);
if (!ListUtils.isEmpty(personalStageProgressMessages)){
List<PersonalStageProgressMessage> newList = this.setProgressTime(personalStageProgressMessages,startTime);
......
......@@ -826,8 +826,8 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
@Override
@ParamLog("添加进度单延时")
public void addProgressDelay(String userWxId, String robotWxId, String ip){
PersonalStageProgressMessage progressMessage = personalStageProgressMessageDao.getWaitClickProgress();
public void addProgressDelay(String userWxId, String robotWxId, String ip, Integer progressId){
PersonalStageProgressMessage progressMessage = personalStageProgressMessageDao.getWaitClickProgress(progressId);
if (null==progressMessage || null == progressMessage.getMinutes()){
return;
}
......@@ -842,6 +842,7 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
progressDelayDTO.setRobotId(robotWxId);
progressDelayDTO.setWxId(userWxId);
progressDelayDTO.setPersonalStageId(personalStageId);
progressDelayDTO.setProgressId(progressId);
DelayQueueDTO delayQueueDTONew = DelayQueueDTO.builder().key(userWxId).type(PersonalStageConstant.PERSONALSTAGE_DELAY_PROGRESS).msg(progressDelayDTO).timeout(time).build();
delayMessageSender.send(delayQueueDTONew);
String key = "BOOK:LINK_PROGRESS:"+ userWxId + "-" +robotWxId;
......@@ -856,7 +857,7 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
String userWxId = linkClickRecordDTO.getWxId();
String robotId = linkClickRecordDTO.getRobotId();
if (linkType == 1){
String key = "BOOK:LINK_PROGRESS:"+ userWxId + "-" +robotId;
String key = "BOOK:LINK_PROGRESS:"+ userWxId + "-" +robotId +"-"+linkClickRecordDTO.getProgressId();
JedisClusterUtils.setJson(key, userWxId, 5*3600);
}else if (linkType == 2){
String key = "BOOK:LINK_PAPER:"+ userWxId + "-" +robotId+"-"+linkClickRecordDTO.getPaperId();
......@@ -867,17 +868,18 @@ public class PersonalStageJumpBizImpl implements PersonalStageJumpBiz {
@Override
@ParamLog("进度单延迟处理")
public void delayProgress(DelayQueueDTO dto) {
PersonalStageProgressMessage progressMessage = personalStageProgressMessageDao.getWaitClickProgress();
ProgressDelayDTO progressDelayDTO=(ProgressDelayDTO) dto.getMsg();
Integer progressId = progressDelayDTO.getProgressId();
PersonalStageProgressMessage progressMessage = personalStageProgressMessageDao.getWaitClickProgress(progressId);
if (null==progressMessage || StringUtil.isEmpty(progressMessage.getContent())){
return;
}
String userWxId=dto.getKey();
ProgressDelayDTO progressDelayDTO=(ProgressDelayDTO) dto.getMsg();
String robotId = progressDelayDTO.getRobotId();
Long personalStageId = progressDelayDTO.getPersonalStageId();
String ip = progressDelayDTO.getIp();
//是否点击过进度单链接
String key = "BOOK:LINK_PROGRESS:"+ userWxId + "-" +robotId;
String key = "BOOK:LINK_PROGRESS:"+ userWxId + "-" +robotId + "-"+progressId;
String value = JedisClusterUtils.getJson(key, String.class);
if (!StringUtil.isEmpty(value)){
log.info("用户已点击进度单链接");
......
package com.pcloud.book.personalstage.biz.impl;
import com.google.common.collect.Lists;
import com.pcloud.book.personalstage.dto.PersonalStageProgressDTO;
import com.pcloud.book.personalstage.entity.PersonalStageProgressMessage;
import com.pcloud.book.personalstage.dao.PersonalStageProgressMessageDao;
import com.pcloud.book.personalstage.biz.PersonalStageProgressMessageBiz;
......@@ -41,8 +43,8 @@ public class PersonalStageProgressMessageBizImpl implements PersonalStageProgres
@Override
@ParamLog("查询多条数据")
public List<PersonalStageProgressMessage> getProgressMessageList() {
List<PersonalStageProgressMessage> progressMessageList = personalStageProgressMessageDao.getProgressMessageList();
public List<PersonalStageProgressMessage> getProgressMessageList(Integer progressId) {
List<PersonalStageProgressMessage> progressMessageList = personalStageProgressMessageDao.getProgressMessageList(progressId);
if (ListUtils.isEmpty(progressMessageList)){
return Lists.newArrayList();
}
......@@ -64,9 +66,9 @@ public class PersonalStageProgressMessageBizImpl implements PersonalStageProgres
if(personalStageProgressMessage.stream().filter(x-> StringUtil.isEmpty(x.getContent())).count() > 0){
throw BizException.PARAM_IS_NULL;
}
Integer progressId = personalStageProgressMessage.get(0).getProgressId();
// 删除所有旧数据
personalStageProgressMessageDao.deleteAll();
personalStageProgressMessageDao.deleteByProgressId(progressId);
personalStageProgressMessage.stream().forEach(x->{
if(x.getType() == null || x.getType() == 0){
x.setType(1);
......@@ -81,4 +83,9 @@ public class PersonalStageProgressMessageBizImpl implements PersonalStageProgres
public void deleteById(Long id) {
personalStageProgressMessageDao.deleteById(id);
}
@Override
public List<PersonalStageProgressDTO> getProgressList() {
return personalStageProgressMessageDao.getProgressList();
}
}
\ No newline at end of file
......@@ -75,6 +75,7 @@ public class PersonalStageCheck {
@ParamLog("校验回复")
private Long checkReplies(List<PersonalStageReply> list) {
Long paperId = null;
Long progressId = null;
for (PersonalStageReply reply:list){
if (reply==null){
throw new BookBizException(BookBizException.PARAM_IS_ERROR,"回复不能为空!");
......@@ -91,6 +92,15 @@ public class PersonalStageCheck {
paperId = reply.getPaperId();
}
}
if (null != reply.getProgressId()){
if (null != progressId){
if (!reply.getProgressId().equals(progressId)){
throw new BookBizException(BookBizException.PARAM_IS_ERROR, "非关键词回复存在不一样的进度单");
}
}else{
progressId = reply.getProgressId();
}
}
checkReplayItems(reply.getPersonalStageReplyItems());
}
return paperId;
......
......@@ -12,6 +12,12 @@ public class PersonalStageConstant {
public static final String PERSONALSTAGE_DELAY_LINKUP="PERSONALSTAGE_DELAY_LINKUP";
// 进度模板字符串
public static final String PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE = "${PROGRESS_URL}";
public static final String PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_1 = "${PROGRESS_URL_1}";
public static final String PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_2 = "${PROGRESS_URL_2}";
public static final String PERSONAL_STAGE_PROJECT_PROGRESS_TEMPLATE_3 = "${PROGRESS_URL_3}";
public static final Integer PERSONAL_STAGE_PROGRESS_1 = 1;
public static final Integer PERSONAL_STAGE_PROGRESS_2 = 2;
public static final Integer PERSONAL_STAGE_PROGRESS_3 = 3;
// 项目进度页面路由
public static final String PERSONAL_STAGE_PROJECT_PROGRESS = "/personalCenter/projectProgress";
......
package com.pcloud.book.personalstage.dao;
import com.pcloud.book.personalstage.dto.PersonalStageProgressDTO;
import com.pcloud.book.personalstage.entity.PersonalStageProgressMessage;
import com.pcloud.common.core.dao.BaseDao;
......@@ -14,19 +15,27 @@ import java.util.List;
*/
public interface PersonalStageProgressMessageDao extends BaseDao<PersonalStageProgressMessage> {
List<PersonalStageProgressMessage> getPersonalProgress(Date startTime);
List<PersonalStageProgressMessage> getPersonalProgress(Date startTime, Long progressId);
List<PersonalStageProgressMessage> selectAllProgressMessage();
List<PersonalStageProgressMessage> getProgressMessageList();
List<PersonalStageProgressMessage> getProgressMessageList(Integer progressId);
void deleteAll();
/**
* 获取进度总数
* @return
* @param progressId
*/
Integer countProgressMessage();
Integer countProgressMessage(Long progressId);
PersonalStageProgressMessage getWaitClickProgress(Integer progressId);
List<PersonalStageProgressDTO> getProgressList();
PersonalStageProgressMessage getWaitClickProgress();
void deleteByProgressId(Integer progressId);
}
\ No newline at end of file
package com.pcloud.book.personalstage.dao.impl;
import com.pcloud.book.personalstage.dto.PersonalStageProgressDTO;
import com.pcloud.book.personalstage.entity.PersonalStageProgressMessage;
import com.pcloud.book.personalstage.dao.PersonalStageProgressMessageDao;
import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Repository;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
* (PersonalStageProgressMessage)表数据库访问层
......@@ -19,8 +18,11 @@ import java.util.List;
public class PersonalStageProgressMessageDaoImpl extends BaseDaoImpl<PersonalStageProgressMessage> implements PersonalStageProgressMessageDao {
@Override
public List<PersonalStageProgressMessage> getPersonalProgress(Date startTime) {
return getSessionTemplate().selectList(getStatement("getPersonalProgress"),startTime);
public List<PersonalStageProgressMessage> getPersonalProgress(Date startTime, Long progressId) {
Map<String,Object> paramMap = new HashMap<>();
paramMap.put("startTime",startTime);
paramMap.put("progressId",progressId);
return getSessionTemplate().selectList(getStatement("getPersonalProgress"),paramMap);
}
public List<PersonalStageProgressMessage> selectAllProgressMessage(){
......@@ -28,8 +30,8 @@ public class PersonalStageProgressMessageDaoImpl extends BaseDaoImpl<PersonalSta
}
@Override
public List<PersonalStageProgressMessage> getProgressMessageList() {
return getSessionTemplate().selectList(getStatement("getProgressMessageList"));
public List<PersonalStageProgressMessage> getProgressMessageList(Integer progressId) {
return getSessionTemplate().selectList(getStatement("getProgressMessageList"),progressId);
}
@Override
......@@ -38,12 +40,22 @@ public class PersonalStageProgressMessageDaoImpl extends BaseDaoImpl<PersonalSta
}
@Override
public Integer countProgressMessage() {
return super.sqlSessionTemplate.selectOne(getStatement("countProgressMessage"));
public Integer countProgressMessage(Long progressId) {
return super.sqlSessionTemplate.selectOne(getStatement("countProgressMessage"),progressId);
}
@Override
public PersonalStageProgressMessage getWaitClickProgress() {
return getSessionTemplate().selectOne(getStatement("getWaitClickProgress"));
public PersonalStageProgressMessage getWaitClickProgress(Integer progressId) {
return getSessionTemplate().selectOne(getStatement("getWaitClickProgress"),progressId);
}
@Override
public List<PersonalStageProgressDTO> getProgressList() {
return getSessionTemplate().selectList(getStatement("getProgressList"));
}
@Override
public void deleteByProgressId(Integer progressId) {
super.getSessionTemplate().delete(getStatement("deleteByProgressId"),progressId);
}
}
\ No newline at end of file
......@@ -17,4 +17,6 @@ public class LinkClickRecordDTO extends BaseDto {
private String wxId;
@ApiModelProperty("需求定制单id")
private Long paperId;
@ApiModelProperty("进度单id")
private Integer progressId;
}
......@@ -48,4 +48,39 @@ public class PersonalStageProgressDTO {
* 进度总数
*/
private Integer totalProgress;
/**
* 进度单id
*/
private Integer progressId;
/**
* 进度单名称
*/
private String progressName;
/**
* 开始文案
*/
private String startText;
/**
* 开始进度内容id
*/
private Integer startMessageId;
/**
* 结束文案
*/
private String endText;
/**
* 结束进度内容id
*/
private Integer endMessageId;
/**
* 特殊符号
*/
private String specialSymbol;
}
......@@ -18,5 +18,7 @@ public class ProgressDelayDTO implements Serializable {
private String wxId;
@ApiModelProperty("ip地址")
private String ip;
@ApiModelProperty("进度id")
private Integer progressId;
}
......@@ -18,6 +18,7 @@ public class PersonalStageProgressMessage extends BaseEntity {
private static final long serialVersionUID = 783203450632034209L;
private Integer progressId;
private String content;
private Integer minutes;
......
......@@ -35,4 +35,10 @@ public class PersonalStageReply extends BaseEntity {
@ApiModelProperty("回复项集合")
private List<PersonalStageReplyItem> personalStageReplyItems;
@ApiModelProperty("进度单id")
private Long progressId;
@ApiModelProperty("进度单id")
private String progressName;
}
\ No newline at end of file
......@@ -198,16 +198,18 @@ public class PersonalStageFacade {
@ApiOperation("获取进度")
@GetMapping("getPersonalProgress")
public ResponseDto<?> getPersonalProgress(@RequestParam("wxUserId") String wxUserId,@RequestParam("personalStageUserId") Long personalStageUserId) throws PermissionException, BizException{
PersonalStageProgressDTO personalStageProgressDTO = personalStageBiz.getPersonalProgress(wxUserId, personalStageUserId);
public ResponseDto<?> getPersonalProgress(@RequestParam("wxUserId") String wxUserId,
@RequestParam("personalStageUserId") Long personalStageUserId,
@RequestParam("progressId") Long progressId) throws PermissionException, BizException{
PersonalStageProgressDTO personalStageProgressDTO = personalStageBiz.getPersonalProgress(wxUserId, personalStageUserId,progressId);
return new ResponseDto<>(personalStageProgressDTO);
}
@ApiOperation("查询所有的进度消息")
@GetMapping("getProgressMessageList")
public ResponseDto<?> getProgressMessageList()
public ResponseDto<?> getProgressMessageList(@RequestParam("progressId") Integer progressId)
throws BizException, PermissionException {
return new ResponseDto<>(personalStageProgressMessageBiz.getProgressMessageList());
return new ResponseDto<>(personalStageProgressMessageBiz.getProgressMessageList(progressId));
}
@ApiOperation("保存进度消息")
......@@ -289,4 +291,13 @@ public class PersonalStageFacade {
personalStageJumpBiz.endServiceJumpNext(endServiceJumpNextDTO);
return new ResponseDto<>();
}
@ApiOperation("获取进度单列表")
@GetMapping("getProgressList")
public ResponseDto<?> getProgressList(@RequestHeader("token") @ApiParam("token信息") String token) throws PermissionException {
SessionUtil.getVlaue(token, SessionUtil.PARTY_ID);
List<PersonalStageProgressDTO> personalStageProgressDTOS = personalStageProgressMessageBiz.getProgressList();
return new ResponseDto<>(personalStageProgressDTOS);
}
}
......@@ -4,6 +4,7 @@
<resultMap id="BaseResultMap" type="com.pcloud.book.personalstage.entity.PersonalStageProgressMessage">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="progress_id" property="progressId" jdbcType="INTEGER"/>
<result column="content" property="content" jdbcType="VARCHAR"/>
<result column="minutes" property="minutes" jdbcType="INTEGER"/>
<result column="type" property="type" jdbcType="INTEGER"/>
......@@ -11,8 +12,13 @@
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
</resultMap>
<resultMap id="ProgressDTOMap" type="com.pcloud.book.personalstage.dto.PersonalStageProgressDTO">
<association property="startText" column="startMessageId" javaType="string" select="getContentById"/>
<association property="endText" column="endMessageId" javaType="string" select="getContentById"/>
</resultMap>
<sql id="Base_Column_List">
id, content, minutes, type, create_time, update_time
id, progress_id,content, minutes, create_time, update_time,type
</sql>
<select id="getById" resultMap="BaseResultMap">
......@@ -26,17 +32,20 @@
SELECT
<include refid="Base_Column_List"/>
FROM personal_stage_progress_message
where progress_id=#{progressId}
ORDER BY type
</select>
<insert id="insert" keyProperty="id" useGeneratedKeys="true">
INSERT INTO personal_stage_progress_message(
progress_id,
content,
minutes,
type,
create_time,
update_time
) VALUES (
#{progressId, jdbcType=INTEGER},
#{content, jdbcType=VARCHAR},
#{minutes, jdbcType=INTEGER},
#{type, jdbcType=INTEGER},
......@@ -47,6 +56,7 @@
<insert id="batchInsert" keyProperty="id" useGeneratedKeys="true">
INSERT INTO personal_stage_progress_message (
progress_id,
content,
minutes,
type,
......@@ -55,6 +65,7 @@
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.progressId, jdbcType=INTEGER},
#{item.content, jdbcType=VARCHAR},
#{item.minutes, jdbcType=INTEGER},
#{item.type, jdbcType=INTEGER},
......@@ -68,6 +79,9 @@
<update id="update">
UPDATE personal_stage_progress_message
<set>
<if test="progressId != null">
progress_id = #{progressId},
</if>
<if test="content != null and content != ''">
content = #{content},
</if>
......@@ -96,26 +110,28 @@
DELETE FROM personal_stage_progress_message
</delete>
<select id="getPersonalProgress" parameterType="date" resultType="com.pcloud.book.personalstage.entity.PersonalStageProgressMessage">
<select id="getPersonalProgress" parameterType="map" resultType="com.pcloud.book.personalstage.entity.PersonalStageProgressMessage">
select
id,
progress_id,
content,
minutes,
type
from
personal_stage_progress_message
where
TIMESTAMPDIFF(MINUTE,#{startTime}, now()) &gt;= minutes
and type = 1
type = 1
and progress_id = #{progress_id}
order by id asc
</select>
<select id="getWaitClickProgress" resultMap="BaseResultMap">
<select id="getWaitClickProgress" resultMap="BaseResultMap" parameterType="integer">
select
<include refid="Base_Column_List"/>
from
personal_stage_progress_message
where type = 2
and progress_id = #{progressId}
limit 1
</select>
......@@ -129,7 +145,53 @@
order by id asc
</select>
<select id="countProgressMessage" resultType="int">
<select id="countProgressMessage" resultType="int" parameterType="long">
select count(id) from personal_stage_progress_message
where
type = 1
and progress_id = #{progressId}
</select>
<select id="getProgressList" resultMap="ProgressDTOMap">
select
p.id progressId,
p.NAME progressName,
min(pm.id) startMessageId,
max(pm.id) endMessageId,
p.special_symbol specialSymbol
from
personal_stage_progress p
left join personal_stage_progress_message pm
on p.id = pm.progress_id
where type = 1
GROUP BY p.id
</select>
<select id="getContentById" resultType="string">
select
content
from
personal_stage_progress_message
where
id = #{_parameter}
</select>
<select id="getNameById" resultType="string">
select
name
from
personal_stage_progress
where
id = #{_parameter}
</select>
<delete id="deleteByProgressId" parameterType="integer">
delete
from
personal_stage_progress_message
where
progress_id = #{progressId}
</delete>
</mapper>
\ No newline at end of file
......@@ -11,10 +11,16 @@
<result property="paperId" column="paper_id" jdbcType="BIGINT"/>
<result property="paperTitle" column="paper_title" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="progressId" column="progress_id" jdbcType="TIMESTAMP"/>
</resultMap>
<resultMap id="PersonalStageReplyMap" extends="BaseResultMap" type="com.pcloud.book.personalstage.entity.PersonalStageReply">
<association property="progressName" column="progress_id" javaType="string"
select="com.pcloud.book.personalstage.dao.impl.PersonalStageProgressMessageDaoImpl.getNameById"/>
</resultMap>
<sql id="Base_Column_List">
id, name, personal_stage_id, relevance_id, relevance_type, paper_id, paper_title, create_time
id, name, personal_stage_id, relevance_id, relevance_type, paper_id, paper_title, create_time,progress_id
</sql>
<select id="getById" resultMap="BaseResultMap" parameterType="java.lang.Long">
......@@ -59,7 +65,8 @@
relevance_type,
paper_id,
paper_title,
create_time
create_time,
progress_id
) values
<foreach collection="list" item="item" index="index" separator=",">
(
......@@ -69,7 +76,8 @@
#{item.relevanceType,jdbcType=INTEGER},
#{item.paperId},
#{item.paperTitle},
NOW()
NOW(),
#{item.progressId}
)
</foreach>
</insert>
......@@ -87,7 +95,7 @@
</foreach>
</delete>
<select id="getListByPersonalStageId" parameterType="long" resultMap="BaseResultMap">
<select id="getListByPersonalStageId" parameterType="long" resultMap="PersonalStageReplyMap">
select <include refid="Base_Column_List"/>
from personal_stage_reply
where personal_stage_id=#{personalStageId}
......
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