Commit b6cb1c6a by 阮思源

Merge branch 'feat-1002474' into 'master'

衔接语数量

See merge request rays/pcloud-book!491
parents e9899208 0aadd8de
...@@ -12,14 +12,7 @@ import com.pcloud.book.personalstage.biz.PersonalStageBiz; ...@@ -12,14 +12,7 @@ import com.pcloud.book.personalstage.biz.PersonalStageBiz;
import com.pcloud.book.personalstage.biz.PersonalStageJumpBiz; import com.pcloud.book.personalstage.biz.PersonalStageJumpBiz;
import com.pcloud.book.personalstage.check.PersonalStageCheck; import com.pcloud.book.personalstage.check.PersonalStageCheck;
import com.pcloud.book.personalstage.constant.PersonalStageConstant; import com.pcloud.book.personalstage.constant.PersonalStageConstant;
import com.pcloud.book.personalstage.dao.PersonalStageDao; import com.pcloud.book.personalstage.dao.*;
import com.pcloud.book.personalstage.dao.PersonalStageJumpDao;
import com.pcloud.book.personalstage.dao.PersonalStageJumpKeywordDao;
import com.pcloud.book.personalstage.dao.PersonalStageProgressMessageDao;
import com.pcloud.book.personalstage.dao.PersonalStageReplyDao;
import com.pcloud.book.personalstage.dao.PersonalStageReplyItemDao;
import com.pcloud.book.personalstage.dao.PersonalStageUserDao;
import com.pcloud.book.personalstage.dao.PersonalStageWakeupDao;
import com.pcloud.book.personalstage.dto.FusingFinishDelayDTO; import com.pcloud.book.personalstage.dto.FusingFinishDelayDTO;
import com.pcloud.book.personalstage.dto.PersonalStageDTO; import com.pcloud.book.personalstage.dto.PersonalStageDTO;
import com.pcloud.book.personalstage.dto.PersonalStageJumpKeywordDto; import com.pcloud.book.personalstage.dto.PersonalStageJumpKeywordDto;
...@@ -47,6 +40,8 @@ import com.sdk.wxgroup.SendMessageTypeEnum; ...@@ -47,6 +40,8 @@ import com.sdk.wxgroup.SendMessageTypeEnum;
import com.sdk.wxgroup.SendPicMessageVO; import com.sdk.wxgroup.SendPicMessageVO;
import com.sdk.wxgroup.SendTextMessageVO; import com.sdk.wxgroup.SendTextMessageVO;
import com.sdk.wxgroup.WxGroupSDK; import com.sdk.wxgroup.WxGroupSDK;
import org.apache.commons.collections.MapUtils;
import org.elasticsearch.index.mapper.MapperUtils;
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.beans.factory.annotation.Autowired;
...@@ -100,6 +95,8 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -100,6 +95,8 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
private WechatGroupConsr wechatGroupConsr; private WechatGroupConsr wechatGroupConsr;
@Autowired @Autowired
private PersonalStageProgressMessageDao personalStageProgressMessageDao; private PersonalStageProgressMessageDao personalStageProgressMessageDao;
@Autowired
private PersonalStageJumpLinkupDao personalStageJumpLinkupDao;
@Value("${wechat.group.link.prefix}") @Value("${wechat.group.link.prefix}")
private String wechatLinkPrefix; private String wechatLinkPrefix;
...@@ -255,7 +252,20 @@ public class PersonalStageBizImpl implements PersonalStageBiz { ...@@ -255,7 +252,20 @@ public class PersonalStageBizImpl implements PersonalStageBiz {
public PageBean getPersonalStageList(Long robotClassifyId, PageParam pageParam) throws BizException { public PageBean getPersonalStageList(Long robotClassifyId, PageParam pageParam) throws BizException {
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("robotClassifyId", robotClassifyId); paramMap.put("robotClassifyId", robotClassifyId);
return personalStageDao.listPage(pageParam, paramMap, "getPersonalStageList"); PageBean pageBean = personalStageDao.listPage(pageParam, paramMap, "getPersonalStageList");
if (null == pageBean || ListUtils.isEmpty(pageBean.getRecordList())){
return new PageBean();
}
//衔接语数量
Map<Long, PersonalStageDTO> linkupCountMap = personalStageJumpLinkupDao.mapStageJumpLinkupCountByRobotClassify(robotClassifyId);
for (Object object : pageBean.getRecordList()){
PersonalStageDTO stageDTO = (PersonalStageDTO) object;
if (!MapUtils.isEmpty(linkupCountMap) && linkupCountMap.containsKey(stageDTO.getId())){
PersonalStageDTO linkup = linkupCountMap.get(stageDTO.getId());
stageDTO.setJumpLinkupCount(linkup.getJumpLinkupCount());
}
}
return pageBean;
} }
/** /**
......
package com.pcloud.book.personalstage.dao; package com.pcloud.book.personalstage.dao;
import com.pcloud.book.personalstage.dto.PersonalStageDTO;
import com.pcloud.book.personalstage.entity.PersonalStageJumpLinkup; import com.pcloud.book.personalstage.entity.PersonalStageJumpLinkup;
import com.pcloud.common.core.dao.BaseDao; import com.pcloud.common.core.dao.BaseDao;
import java.util.List; import java.util.List;
import java.util.Map;
public interface PersonalStageJumpLinkupDao extends BaseDao<PersonalStageJumpLinkup> { public interface PersonalStageJumpLinkupDao extends BaseDao<PersonalStageJumpLinkup> {
/** /**
...@@ -24,4 +26,11 @@ public interface PersonalStageJumpLinkupDao extends BaseDao<PersonalStageJumpLin ...@@ -24,4 +26,11 @@ public interface PersonalStageJumpLinkupDao extends BaseDao<PersonalStageJumpLin
* @return * @return
*/ */
List<PersonalStageJumpLinkup> getByJumpId(Long jumpId); List<PersonalStageJumpLinkup> getByJumpId(Long jumpId);
/**
* 阶段衔接语条数
* @param robotClassifyId
* @return
*/
Map<Long, PersonalStageDTO> mapStageJumpLinkupCountByRobotClassify(Long robotClassifyId);
} }
\ No newline at end of file
package com.pcloud.book.personalstage.dao.impl; package com.pcloud.book.personalstage.dao.impl;
import com.pcloud.book.personalstage.dao.PersonalStageJumpLinkupDao; import com.pcloud.book.personalstage.dao.PersonalStageJumpLinkupDao;
import com.pcloud.book.personalstage.dto.PersonalStageDTO;
import com.pcloud.book.personalstage.entity.PersonalStageJumpLinkup; import com.pcloud.book.personalstage.entity.PersonalStageJumpLinkup;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
import java.util.Map;
@Component("personalStageJumpLinkup") @Component("personalStageJumpLinkup")
public class PersonalStageJumpLinkupDaoImpl extends BaseDaoImpl<PersonalStageJumpLinkup> implements PersonalStageJumpLinkupDao { public class PersonalStageJumpLinkupDaoImpl extends BaseDaoImpl<PersonalStageJumpLinkup> implements PersonalStageJumpLinkupDao {
...@@ -23,4 +25,9 @@ public class PersonalStageJumpLinkupDaoImpl extends BaseDaoImpl<PersonalStageJum ...@@ -23,4 +25,9 @@ public class PersonalStageJumpLinkupDaoImpl extends BaseDaoImpl<PersonalStageJum
public List<PersonalStageJumpLinkup> getByJumpId(Long jumpId) { public List<PersonalStageJumpLinkup> getByJumpId(Long jumpId) {
return super.sqlSessionTemplate.selectList(getStatement("getByJumpId"), jumpId); return super.sqlSessionTemplate.selectList(getStatement("getByJumpId"), jumpId);
} }
@Override
public Map<Long, PersonalStageDTO> mapStageJumpLinkupCountByRobotClassify(Long robotClassifyId) {
return getSessionTemplate().selectMap(getStatement("mapStageJumpLinkupCountByRobotClassify"), robotClassifyId, "id");
}
} }
...@@ -50,4 +50,6 @@ public class PersonalStageDTO extends BaseDto { ...@@ -50,4 +50,6 @@ public class PersonalStageDTO extends BaseDto {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime; private Date createTime;
@ApiModelProperty("衔接语条数")
private Integer jumpLinkupCount;
} }
\ No newline at end of file
...@@ -87,4 +87,16 @@ ...@@ -87,4 +87,16 @@
</trim> </trim>
</foreach> </foreach>
</insert> </insert>
<select id="mapStageJumpLinkupCountByRobotClassify" parameterType="long" resultType="com.pcloud.book.personalstage.dto.PersonalStageDTO">
SELECT
s.id id,
COUNT(l.id) jumpLinkupCount
FROM
personal_stage_jump_linkup l LEFT JOIN personal_stage_jump j ON l.personal_stage_jump_id=j.id
LEFT JOIN personal_stage s ON s.id=j.personal_stage_id
WHERE s.robot_classify_id = #{robotClassifyId}
GROUP BY s.id
</select>
</mapper> </mapper>
\ No newline at end of file
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