Commit 2903d895 by 田超

feat:[none]优化接口getBookBase4Applet

parent b8ad72f2
...@@ -6,7 +6,6 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -6,7 +6,6 @@ import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable; import java.io.Serializable;
import java.util.List; import java.util.List;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import jdk.nashorn.internal.objects.annotations.Property;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
......
...@@ -5646,20 +5646,26 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -5646,20 +5646,26 @@ public class BookGroupBizImpl implements BookGroupBiz {
if (CollUtil.toList(RightsSettingConstant.K12_TEMPLET_ID_NEW).contains(adviserDto.getTempletId())) { if (CollUtil.toList(RightsSettingConstant.K12_TEMPLET_ID_NEW).contains(adviserDto.getTempletId())) {
map.put("isK12", Boolean.TRUE); map.put("isK12", Boolean.TRUE);
} }
map.put("templetId", adviserDto.getTempletId());
AssistTempletDTO templetDTO = assistTempletConsr.getTempletById(adviserDto.getTempletId());
if (Objects.nonNull(templetDTO)) map.put("templateName", templetDTO.getTempletName());
if (Objects.nonNull(adviserDto.getSecondTempletId())) { List<Long>idList = new ArrayList<>();
idList.add(adviserDto.getTempletId());
idList.add(adviserDto.getSecondTempletId());
idList.add(adviserDto.getThirdTempletId());
Map<Long, AssistTempletDTO> longAssistTempletDTOMap = assistTempletConsr.mapByIds(idList);
AssistTempletDTO first = longAssistTempletDTOMap.get(adviserDto.getTempletId());
AssistTempletDTO second = longAssistTempletDTOMap.get(adviserDto.getSecondTempletId());
AssistTempletDTO third = longAssistTempletDTOMap.get(adviserDto.getThirdTempletId());
if(first!=null && first.getTempletName()!=null){
map.put("templetId", adviserDto.getTempletId());
map.put("templateName", first.getTempletName());
}
if(second!=null && second.getTempletName()!=null){
map.put("secondTempletId", adviserDto.getSecondTempletId()); map.put("secondTempletId", adviserDto.getSecondTempletId());
AssistTempletDTO secondTempletDTO = assistTempletConsr.getTempletById(adviserDto.getSecondTempletId()); map.put("secondTempletName", second.getTempletName());
if (Objects.nonNull(secondTempletDTO)) map.put("secondTempletName", secondTempletDTO.getTempletName());
} }
if(third!=null && third.getTempletName()!=null){
if (Objects.nonNull(adviserDto.getThirdTempletId())) {
map.put("thirdTempletId", adviserDto.getThirdTempletId()); map.put("thirdTempletId", adviserDto.getThirdTempletId());
AssistTempletDTO thirdTempletDTO = assistTempletConsr.getTempletById(adviserDto.getThirdTempletId()); map.put("thirdTempletName", third.getTempletName());
if (Objects.nonNull(thirdTempletDTO)) map.put("thirdTempletName", thirdTempletDTO.getTempletName());
} }
} }
Long raysClassifyId = bookRaysClassifyDao.getClassifyIdByBookTemplateId(adviserDto.getTempletId()); Long raysClassifyId = bookRaysClassifyDao.getClassifyIdByBookTemplateId(adviserDto.getTempletId());
...@@ -6190,7 +6196,14 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -6190,7 +6196,14 @@ public class BookGroupBizImpl implements BookGroupBiz {
adviserId = bookGroupDTO.getCreateUser(); adviserId = bookGroupDTO.getCreateUser();
} }
} else { } else {
QrcodeSceneDto qrcodeSceneDto = qrcodeSceneConsr.getById(sceneId); String qrcodeKey = "qrcodeSceneConsr.getById:"+sceneId;
QrcodeSceneDto qrcodeSceneDto = JedisClusterUtils.getJson(qrcodeKey, QrcodeSceneDto.class);
if(qrcodeSceneDto==null) {
qrcodeSceneDto = qrcodeSceneConsr.getById(sceneId);
if(qrcodeSceneDto!=null){
JedisClusterUtils.setJson(qrcodeKey,qrcodeSceneDto,3600*2);
}
}
if (null != qrcodeSceneDto) { if (null != qrcodeSceneDto) {
bookId = qrcodeSceneDto.getAdviserBookId(); bookId = qrcodeSceneDto.getAdviserBookId();
channelId = qrcodeSceneDto.getChannelPartyId(); channelId = qrcodeSceneDto.getChannelPartyId();
...@@ -6198,16 +6211,27 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -6198,16 +6211,27 @@ public class BookGroupBizImpl implements BookGroupBiz {
} }
} }
Map<String, Object> map = this.getBookBaseInfo4Applet(adviserId, channelId, bookId); Map<String, Object> map = this.getBookBaseInfo4Applet(adviserId, channelId, bookId);
Map<Long, AdviserBaseInfoDto> adviserInfoDtoMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(Lists.newArrayList(adviserId));
if (MapUtils.isNotEmpty(adviserInfoDtoMap) && null != adviserInfoDtoMap.get(adviserId)) { String agentNameKey="adviserConsr.getAdviserId2AdviserInfoDtoMap"+adviserId;
map.put("agentName", adviserInfoDtoMap.get(adviserId).getAgentName()); String agentName = JedisClusterUtils.getJson(agentNameKey, String.class);
if(agentName==null) {
Map<Long, AdviserBaseInfoDto> adviserInfoDtoMap = adviserConsr.getAdviserId2AdviserInfoDtoMap(Lists.newArrayList(adviserId));
if (MapUtils.isNotEmpty(adviserInfoDtoMap) && null != adviserInfoDtoMap.get(adviserId)) {
map.put("agentName", adviserInfoDtoMap.get(adviserId).getAgentName());
JedisClusterUtils.setJson(agentNameKey,adviserInfoDtoMap.get(adviserId).getAgentName(),3600*2);
}
}else{
map.put("agentName", agentName);
} }
map.put("bookId", bookId); map.put("bookId", bookId);
map.put("adviserId", adviserId); map.put("adviserId", adviserId);
map.put("channelId", channelId); map.put("channelId", channelId);
return map; return map;
} }
@Override @Override
public BookGroupSceneDTO getSceneQrcodeByBookGroupId(Long bookGroupId) { public BookGroupSceneDTO getSceneQrcodeByBookGroupId(Long bookGroupId) {
BookGroupSceneDTO bookGroupSceneDTO = new BookGroupSceneDTO(); BookGroupSceneDTO bookGroupSceneDTO = new BookGroupSceneDTO();
......
...@@ -73,7 +73,7 @@ public interface BookGroupDao extends BaseDao<BookGroup> { ...@@ -73,7 +73,7 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
* @param adviserId 编辑ID * @param adviserId 编辑ID
* @return * @return
*/ */
long deleteByBookId(Long bookId, Long channelId, Long adviserId); void deleteByBookId(Long bookId, Long channelId, Long adviserId);
/** /**
* 根据书刊ID恢复 * 根据书刊ID恢复
...@@ -82,7 +82,7 @@ public interface BookGroupDao extends BaseDao<BookGroup> { ...@@ -82,7 +82,7 @@ public interface BookGroupDao extends BaseDao<BookGroup> {
* @param adviserId 编辑ID * @param adviserId 编辑ID
* @return * @return
*/ */
long recoverByBookId(Long bookId, Long channelId, Long adviserId); void recoverByBookId(Long bookId, Long channelId, Long adviserId);
/** /**
* 关联社群码和社群书 * 关联社群码和社群书
......
...@@ -18,6 +18,7 @@ import com.pcloud.channelcenter.qrcode.vo.BookQrcodeVO; ...@@ -18,6 +18,7 @@ import com.pcloud.channelcenter.qrcode.vo.BookQrcodeVO;
import com.pcloud.common.core.dao.BaseDaoImpl; import com.pcloud.common.core.dao.BaseDaoImpl;
import com.pcloud.common.utils.ListForInSQL; import com.pcloud.common.utils.ListForInSQL;
import com.pcloud.common.utils.ListUtils; import com.pcloud.common.utils.ListUtils;
import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -32,12 +33,62 @@ import java.util.Map; ...@@ -32,12 +33,62 @@ import java.util.Map;
@Repository("bookGroupDao") @Repository("bookGroupDao")
public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGroupDao { public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGroupDao {
private BookGroupDTO getById4Redis(Long bookGroupId){
if(bookGroupId!=null && bookGroupId>0){
String key = "bookGroupDao:getById4Redis"+bookGroupId;
return JedisClusterUtils.getJson(key, BookGroupDTO.class);
}
return null;
}
private void setById4Redis(Long bookGroupId,BookGroupDTO bookGroupDTO){
if(bookGroupId!=null && bookGroupId>0 && bookGroupDTO!=null) {
String key = "bookGroupDao:getById4Redis" + bookGroupId;
JedisClusterUtils.setJson(key, bookGroupDTO,3600*2);
String bookKey = "bookGroupDao:books"+bookGroupDTO.getBookId();
List<String> keyList = JedisClusterUtils.getJsonList(bookKey, String.class);
if(keyList==null){
keyList = new ArrayList<>();
}
keyList.add(key);
JedisClusterUtils.setJsonList(bookKey,keyList,3600*3);
}
}
private void clearById4Redis(Long bookGroupId){
if(bookGroupId!=null && bookGroupId>0 ) {
String key = "bookGroupDao:getById4Redis" + bookGroupId;
JedisClusterUtils.del(key);
}
}
private void clearByBookId(Long bookId){
String bookKey = "bookGroupDao:books"+bookId;
List<String> keyList = JedisClusterUtils.getJsonList(bookKey, String.class);
if(keyList!=null){
for (String s : keyList) {
JedisClusterUtils.del(s);
}
}
JedisClusterUtils.del(bookKey);
}
/** /**
* 获取DTO信息 * 获取DTO信息
*/ */
@Override @Override
public BookGroupDTO getDTOById(Long bookGroupId) { public BookGroupDTO getDTOById(Long bookGroupId) {
return super.getSqlSession().selectOne(getStatement("getDTOById"), bookGroupId); BookGroupDTO bookGroupDTO = getById4Redis(bookGroupId);
if(bookGroupDTO==null) {
bookGroupDTO = super.getSqlSession().selectOne(getStatement("getDTOById"), bookGroupId);
if(bookGroupDTO!=null) {
setById4Redis(bookGroupId, bookGroupDTO);
}
}
return bookGroupDTO;
} }
/** /**
...@@ -104,24 +155,26 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -104,24 +155,26 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
* 根据书刊ID删除 * 根据书刊ID删除
*/ */
@Override @Override
public long deleteByBookId(Long bookId, Long channelId, Long adviserId) { public void deleteByBookId(Long bookId, Long channelId, Long adviserId) {
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookId", bookId); paramMap.put("bookId", bookId);
paramMap.put("channelId", channelId); paramMap.put("channelId", channelId);
paramMap.put("adviserId", adviserId); paramMap.put("adviserId", adviserId);
return super.getSqlSession().update(getStatement("deleteByBookId"), paramMap); super.getSqlSession().update(getStatement("deleteByBookId"), paramMap);
clearByBookId(bookId);
} }
/** /**
* 根据书刊ID恢复 * 根据书刊ID恢复
*/ */
@Override @Override
public long recoverByBookId(Long bookId, Long channelId, Long adviserId) { public void recoverByBookId(Long bookId, Long channelId, Long adviserId) {
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookId", bookId); paramMap.put("bookId", bookId);
paramMap.put("channelId", channelId); paramMap.put("channelId", channelId);
paramMap.put("adviserId", adviserId); paramMap.put("adviserId", adviserId);
return super.getSqlSession().update(getStatement("recoverByBookId"), paramMap); super.getSqlSession().update(getStatement("recoverByBookId"), paramMap);
clearByBookId(bookId);
} }
/** /**
...@@ -129,6 +182,9 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -129,6 +182,9 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
*/ */
@Override @Override
public long linkBookGroup(BookGroup bookGroup) { public long linkBookGroup(BookGroup bookGroup) {
if(bookGroup!=null && bookGroup.getId()!=0) {
clearById4Redis(bookGroup.getId());
}
return super.getSqlSession().update(getStatement("linkBookGroup"), bookGroup); return super.getSqlSession().update(getStatement("linkBookGroup"), bookGroup);
} }
...@@ -156,6 +212,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -156,6 +212,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
paramMap.put("bookGroupId", bookGroupId); paramMap.put("bookGroupId", bookGroupId);
paramMap.put("rankType", rankType); paramMap.put("rankType", rankType);
super.getSqlSession().update(getStatement("updateRankType"), paramMap); super.getSqlSession().update(getStatement("updateRankType"), paramMap);
clearById4Redis(bookGroupId);
} }
@Override @Override
...@@ -180,10 +237,21 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -180,10 +237,21 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
@Override @Override
public void updatePersonQrcode(PersonalQrcodeDTO personalQrcodeDTO) { public void updatePersonQrcode(PersonalQrcodeDTO personalQrcodeDTO) {
Map<String,Object> map = new HashMap<>();
map.put("newQrcodeUrl",personalQrcodeDTO.getNewQrcodeUrl()); List<Long> idByPersonQrcode = getIdByPersonQrcode(personalQrcodeDTO.getOldQrcodeUrl());
map.put("oldQrcodeUrl",personalQrcodeDTO.getOldQrcodeUrl()); if(idByPersonQrcode!=null && idByPersonQrcode.size()>0) {
this.getSqlSession().update(this.getStatement("updatePersonQrcode"), map); for (Long id : idByPersonQrcode) {
clearById4Redis(id);
}
Map<String, Object> map = new HashMap<>();
map.put("newQrcodeUrl", personalQrcodeDTO.getNewQrcodeUrl());
map.put("oldQrcodeUrl", personalQrcodeDTO.getOldQrcodeUrl());
this.getSqlSession().update(this.getStatement("updatePersonQrcode"), map);
}
}
public List<Long> getIdByPersonQrcode(String qrcodeUrl){
return this.getSqlSession().selectList(this.getStatement("getIdByPersonQrcode"), qrcodeUrl);
} }
@Override @Override
...@@ -209,6 +277,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -209,6 +277,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookGroupId", bookGroupId); paramMap.put("bookGroupId", bookGroupId);
super.getSqlSession().update(getStatement("deleteByBookGroupId"), paramMap); super.getSqlSession().update(getStatement("deleteByBookGroupId"), paramMap);
clearById4Redis(bookGroupId);
} }
@Override @Override
...@@ -242,6 +311,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -242,6 +311,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
paramMap.put("id", id); paramMap.put("id", id);
paramMap.put("bookGroupCipher", bookGroupCipher); paramMap.put("bookGroupCipher", bookGroupCipher);
super.getSqlSession().update(getStatement("updateCipher"), paramMap); super.getSqlSession().update(getStatement("updateCipher"), paramMap);
clearById4Redis(id);
} }
@Override @Override
...@@ -250,6 +320,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -250,6 +320,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
paramMap.put("id", id); paramMap.put("id", id);
paramMap.put("joinGroupType", joinGroupType); paramMap.put("joinGroupType", joinGroupType);
super.getSqlSession().update(getStatement("updateJoinGroupType"), paramMap); super.getSqlSession().update(getStatement("updateJoinGroupType"), paramMap);
clearById4Redis(id);
} }
@Override @Override
...@@ -263,6 +334,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -263,6 +334,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
paramMap.put("id", id); paramMap.put("id", id);
paramMap.put("isInviteGroup", isInviteGroup); paramMap.put("isInviteGroup", isInviteGroup);
super.getSqlSession().update(getStatement("updateIsInviteGroup"), paramMap); super.getSqlSession().update(getStatement("updateIsInviteGroup"), paramMap);
clearById4Redis(id);
} }
@Override @Override
...@@ -271,6 +343,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -271,6 +343,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
paramMap.put("id", id); paramMap.put("id", id);
paramMap.put("isSomeUpdate", isSomeUpdate); paramMap.put("isSomeUpdate", isSomeUpdate);
super.getSqlSession().update(getStatement("updateIsSomeUpdate"), paramMap); super.getSqlSession().update(getStatement("updateIsSomeUpdate"), paramMap);
clearById4Redis(id);
} }
@Override @Override
...@@ -278,6 +351,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -278,6 +351,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
Map<String, Object> paramMap = new HashMap<>(); Map<String, Object> paramMap = new HashMap<>();
paramMap.put("bookGroupId", bookGroupId); paramMap.put("bookGroupId", bookGroupId);
super.getSqlSession().update(getStatement("updateLastPushUpdateTime"), paramMap); super.getSqlSession().update(getStatement("updateLastPushUpdateTime"), paramMap);
clearById4Redis(bookGroupId);
} }
@Override @Override
...@@ -360,6 +434,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -360,6 +434,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
paramMap.put("id", id); paramMap.put("id", id);
paramMap.put("belongSpecialAgent", belongSpecialAgent); paramMap.put("belongSpecialAgent", belongSpecialAgent);
getSessionTemplate().update(getStatement("updateSpecialState"), paramMap); getSessionTemplate().update(getStatement("updateSpecialState"), paramMap);
clearById4Redis(id);
} }
@Override @Override
...@@ -430,6 +505,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -430,6 +505,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
map.put("id", bookGroupId); map.put("id", bookGroupId);
map.put("openWeapp", openWeapp); map.put("openWeapp", openWeapp);
getSessionTemplate().update(getStatement("updateBookGroupOpenWeapp"), map); getSessionTemplate().update(getStatement("updateBookGroupOpenWeapp"), map);
clearById4Redis(bookGroupId);
} }
@Override @Override
...@@ -438,6 +514,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -438,6 +514,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
map.put("relatedBookGroupId", relatedBookGroupId); map.put("relatedBookGroupId", relatedBookGroupId);
map.put("id", bookGroupId); map.put("id", bookGroupId);
getSessionTemplate().update(getStatement("updateRelatedBookGroup"),map); getSessionTemplate().update(getStatement("updateRelatedBookGroup"),map);
clearById4Redis(bookGroupId);
} }
@Override @Override
...@@ -566,6 +643,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -566,6 +643,7 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
paramMap.put("id", bookGroupId); paramMap.put("id", bookGroupId);
paramMap.put("seq", seq); paramMap.put("seq", seq);
getSessionTemplate().update(getStatement("updateBookGroupSeq"), paramMap); getSessionTemplate().update(getStatement("updateBookGroupSeq"), paramMap);
clearById4Redis(bookGroupId);
} }
@Override @Override
...@@ -595,5 +673,6 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou ...@@ -595,5 +673,6 @@ public class BookGroupDaoImpl extends BaseDaoImpl<BookGroup> implements BookGrou
paramMap.put("bookId", bookId); paramMap.put("bookId", bookId);
paramMap.put("id", bookGroupId); paramMap.put("id", bookGroupId);
getSessionTemplate().update(getStatement("updateBookIdById"), paramMap); getSessionTemplate().update(getStatement("updateBookIdById"), paramMap);
clearById4Redis(bookGroupId);
} }
} }
##Test Environment ##Test Environment
eureka:
client:
register-with-eureka: false
...@@ -505,6 +505,10 @@ ...@@ -505,6 +505,10 @@
update book_group set personal_qrcode_url = #{newQrcodeUrl}, update_time = NOW() where personal_qrcode_url = #{oldQrcodeUrl} update book_group set personal_qrcode_url = #{newQrcodeUrl}, update_time = NOW() where personal_qrcode_url = #{oldQrcodeUrl}
</update> </update>
<select id="getIdByPersonQrcode" resultType="long">
select id from book_group where personal_qrcode_url = #{getIdByPersonQrcode}
</select>
<!--获取社群码基本信息(包括书籍信息,及BookClockInfoId)--> <!--获取社群码基本信息(包括书籍信息,及BookClockInfoId)-->
<select id="getBookInfoByIdsWithBookClockInfoId" parameterType="map" resultMap="BookGroupDTO"> <select id="getBookInfoByIdsWithBookClockInfoId" parameterType="map" resultMap="BookGroupDTO">
SELECT SELECT
......
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