Commit 2f22b1c6 by 田超

Merge branch 'feature/1004555' into 'master'

feat: [1004555] 新手编辑流程优化

See merge request rays/pcloud-book!1291
parents f2fd04f7 3c761dc4
...@@ -205,4 +205,8 @@ public interface BookAdviserService { ...@@ -205,4 +205,8 @@ public interface BookAdviserService {
@PostMapping("getBookMapByAdviserBookIds") @PostMapping("getBookMapByAdviserBookIds")
ResponseEntity<ResponseDto<Map<Long, BookDto>>> getBookMapByAdviserBookIds(@RequestBody List<Long> adviserBookIds); ResponseEntity<ResponseDto<Map<Long, BookDto>>> getBookMapByAdviserBookIds(@RequestBody List<Long> adviserBookIds);
@ApiOperation("编辑是否有立项书")
@GetMapping("hasApprovalBook4Adviser")
ResponseEntity<ResponseDto<Boolean>> hasApprovalBook4Adviser(@RequestParam("adviserId") Long adviserId);
} }
...@@ -423,4 +423,12 @@ public interface BookAdviserBiz { ...@@ -423,4 +423,12 @@ public interface BookAdviserBiz {
Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds); Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds);
void updateRaysField4Erp(List<RelateRaysBookApprovalVO> relateRaysBookList); void updateRaysField4Erp(List<RelateRaysBookApprovalVO> relateRaysBookList);
/**
* 编辑是否有立项书
* @author:zhuyajie
* @date:2021/4/25 16:27
* * @param null
*/
Boolean hasApprovalBook4Adviser(Long adviserId);
} }
...@@ -3133,4 +3133,10 @@ public class BookAdviserBizImpl implements BookAdviserBiz { ...@@ -3133,4 +3133,10 @@ public class BookAdviserBizImpl implements BookAdviserBiz {
bookAdviserDao.updateRaysField4Erp(nonApprovalList, YesOrNoNumEnum.NO.getValue()); bookAdviserDao.updateRaysField4Erp(nonApprovalList, YesOrNoNumEnum.NO.getValue());
} }
} }
@Override
public Boolean hasApprovalBook4Adviser(Long adviserId) {
Integer count = bookAdviserDao.hasApprovalBook4Adviser(adviserId);
return count > 0 ? true : false;
}
} }
...@@ -50,6 +50,7 @@ import com.pcloud.book.consumer.erp.ErpConsr; ...@@ -50,6 +50,7 @@ import com.pcloud.book.consumer.erp.ErpConsr;
import com.pcloud.book.consumer.isbn.IsbnConsr; import com.pcloud.book.consumer.isbn.IsbnConsr;
import com.pcloud.book.consumer.label.LabelConsr; import com.pcloud.book.consumer.label.LabelConsr;
import com.pcloud.book.consumer.message.MessageConsr; import com.pcloud.book.consumer.message.MessageConsr;
import com.pcloud.book.consumer.raystask.AdviserTaskConsr;
import com.pcloud.book.consumer.raystask.MainLineConsr; import com.pcloud.book.consumer.raystask.MainLineConsr;
import com.pcloud.book.consumer.resource.ProductConsr; import com.pcloud.book.consumer.resource.ProductConsr;
import com.pcloud.book.consumer.trade.TradeConsr; import com.pcloud.book.consumer.trade.TradeConsr;
...@@ -90,6 +91,7 @@ import com.pcloud.channelcenter.wechat.dto.MessageDto; ...@@ -90,6 +91,7 @@ import com.pcloud.channelcenter.wechat.dto.MessageDto;
import com.pcloud.channelcenter.wechat.vo.BookServeVO; import com.pcloud.channelcenter.wechat.vo.BookServeVO;
import com.pcloud.common.constant.CacheConstant; import com.pcloud.common.constant.CacheConstant;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.AdviserTaskConstants;
import com.pcloud.common.core.constant.AgentTypeEnum; import com.pcloud.common.core.constant.AgentTypeEnum;
import com.pcloud.common.core.constant.SystemCode; import com.pcloud.common.core.constant.SystemCode;
import com.pcloud.common.enums.AppTypeEnum; import com.pcloud.common.enums.AppTypeEnum;
...@@ -275,6 +277,8 @@ public class BookBizImpl implements BookBiz { ...@@ -275,6 +277,8 @@ public class BookBizImpl implements BookBiz {
private UpdateSuperSearchProducer searchProducer; private UpdateSuperSearchProducer searchProducer;
@Autowired @Autowired
private ResourcePageItemDao resourcePageItemDao; private ResourcePageItemDao resourcePageItemDao;
@Autowired
private AdviserTaskConsr adviserTaskConsr;
/** /**
* 创建书籍,同时建立与编辑的推广关系 * 创建书籍,同时建立与编辑的推广关系
*/ */
...@@ -1653,6 +1657,9 @@ public class BookBizImpl implements BookBiz { ...@@ -1653,6 +1657,9 @@ public class BookBizImpl implements BookBiz {
bookDto.setIsDelete(null == dtoByBookId ? 1 : dtoByBookId.getIsDelete() ? 1 : 0); bookDto.setIsDelete(null == dtoByBookId ? 1 : dtoByBookId.getIsDelete() ? 1 : 0);
//更新超级搜索es //更新超级搜索es
searchProducer.createBook(book.getBookAdviserId()); searchProducer.createBook(book.getBookAdviserId());
//发送编辑任务queue
adviserTaskConsr.sendAdviserTaskQueue(book.getCreatedUser(), AdviserTaskConstants.TargetTypeEnum.BOOK.getValue(),
bookDto.getBookId(), AdviserTaskConstants.OperateTypeEnum.CREATE_BOOK.getValue());
return bookDto; return bookDto;
} }
......
...@@ -329,4 +329,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> { ...@@ -329,4 +329,6 @@ public interface BookAdviserDao extends BaseDao<BookAdviser> {
Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds); Map<Long, BookDto> getBookMapByAdviserBookIds(List<Long> adviserBookIds);
int updateRaysField4Erp(List<RelateRaysBookApprovalVO> approvalList, Integer isApproval); int updateRaysField4Erp(List<RelateRaysBookApprovalVO> approvalList, Integer isApproval);
Integer hasApprovalBook4Adviser(Long adviserId);
} }
...@@ -443,4 +443,9 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book ...@@ -443,4 +443,9 @@ public class BookAdviserDaoImpl extends BaseDaoImpl<BookAdviser> implements Book
paramMap.put("approvalList", approvalList); paramMap.put("approvalList", approvalList);
return getSessionTemplate().update(getStatement("updateRaysField4Erp"), paramMap); return getSessionTemplate().update(getStatement("updateRaysField4Erp"), paramMap);
} }
@Override
public Integer hasApprovalBook4Adviser(Long adviserId) {
return getSessionTemplate().selectOne(getStatement("hasApprovalBook4Adviser"), adviserId);
}
} }
...@@ -242,4 +242,10 @@ public class BookAdviserServiceImpl implements BookAdviserService { ...@@ -242,4 +242,10 @@ public class BookAdviserServiceImpl implements BookAdviserService {
public ResponseEntity<ResponseDto<Map<Long, BookDto>>> getBookMapByAdviserBookIds(@RequestBody List<Long> adviserBookIds) { public ResponseEntity<ResponseDto<Map<Long, BookDto>>> getBookMapByAdviserBookIds(@RequestBody List<Long> adviserBookIds) {
return ResponseHandleUtil.toResponse(bookAdviserBiz.getBookMapByAdviserBookIds(adviserBookIds)); return ResponseHandleUtil.toResponse(bookAdviserBiz.getBookMapByAdviserBookIds(adviserBookIds));
} }
@Override
@GetMapping("hasApprovalBook4Adviser")
public ResponseEntity<ResponseDto<Boolean>> hasApprovalBook4Adviser(@RequestParam("adviserId") Long adviserId) {
return ResponseHandleUtil.toResponse(bookAdviserBiz.hasApprovalBook4Adviser(adviserId));
}
} }
package com.pcloud.book.consumer.raystask;
import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.biz.AdviserTaskQueueBiz;
import com.pcloud.common.core.dto.AdviserTaskDTO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import lombok.extern.slf4j.Slf4j;
/**
* @ClassName com.pcloud.book.consumer.raystask.AdviserTaskConsr
* @Author zhuyajie
* @Description 编辑任务
* @Date 2021/4/25 10:09
* @Version 1.0
**/
@Slf4j
@Component
public class AdviserTaskConsr {
@Autowired
private AdviserTaskQueueBiz adviserTaskQueueBiz;
/**
* 发送编辑任务queue
*/
public void sendAdviserTaskQueue(Long adviserId, String targetType, Long targentId, String operateType) {
log.info("发送编辑任务queue,adviserId={},targetType={},targentId={},operateType={}",adviserId,targetType,targentId,operateType);
AdviserTaskDTO adviserTaskDTO = new AdviserTaskDTO();
adviserTaskDTO.setAdviserId(adviserId);
adviserTaskDTO.setTargetType(targetType);
adviserTaskDTO.setTargetId(targentId);
adviserTaskDTO.setTaskOperateType(operateType);
adviserTaskQueueBiz.sendAdviserTaskQueue(adviserTaskDTO);
}
}
...@@ -43,6 +43,7 @@ import com.pcloud.book.consumer.common.ExportConsr; ...@@ -43,6 +43,7 @@ import com.pcloud.book.consumer.common.ExportConsr;
import com.pcloud.book.consumer.content.ResourceConsr; import com.pcloud.book.consumer.content.ResourceConsr;
import com.pcloud.book.consumer.exercisebook.ExerciseBookConsr; import com.pcloud.book.consumer.exercisebook.ExerciseBookConsr;
import com.pcloud.book.consumer.message.MessageConsr; import com.pcloud.book.consumer.message.MessageConsr;
import com.pcloud.book.consumer.raystask.AdviserTaskConsr;
import com.pcloud.book.consumer.raystask.MainLineConsr; import com.pcloud.book.consumer.raystask.MainLineConsr;
import com.pcloud.book.consumer.resource.ProductConsr; import com.pcloud.book.consumer.resource.ProductConsr;
import com.pcloud.book.consumer.settlement.BookConsr; import com.pcloud.book.consumer.settlement.BookConsr;
...@@ -224,6 +225,7 @@ import com.pcloud.channelcenter.wechat.vo.BookServeVO; ...@@ -224,6 +225,7 @@ import com.pcloud.channelcenter.wechat.vo.BookServeVO;
import com.pcloud.common.constant.CacheConstant; import com.pcloud.common.constant.CacheConstant;
import com.pcloud.common.constant.QrcodeStyleConstant; import com.pcloud.common.constant.QrcodeStyleConstant;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.AdviserTaskConstants;
import com.pcloud.common.core.constant.ProductTypeConstant; import com.pcloud.common.core.constant.ProductTypeConstant;
import com.pcloud.common.core.constant.SystemCode; import com.pcloud.common.core.constant.SystemCode;
import com.pcloud.common.core.enums.NotifyOriginTypeEnum; import com.pcloud.common.core.enums.NotifyOriginTypeEnum;
...@@ -510,6 +512,8 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -510,6 +512,8 @@ public class BookGroupBizImpl implements BookGroupBiz {
private ResourcePageBiz resourcePageBiz; private ResourcePageBiz resourcePageBiz;
@Autowired @Autowired
private UpdateSuperSearchProducer searchProducer; private UpdateSuperSearchProducer searchProducer;
@Autowired
private AdviserTaskConsr adviserTaskConsr;
private static final ThreadPoolExecutor PLATFORM_STATISTICS_EXPORT_THREAD = new ThreadPoolExecutor(2, 2, private static final ThreadPoolExecutor PLATFORM_STATISTICS_EXPORT_THREAD = new ThreadPoolExecutor(2, 2,
0, TimeUnit.SECONDS, new LinkedBlockingQueue<>(), 0, TimeUnit.SECONDS, new LinkedBlockingQueue<>(),
...@@ -1839,6 +1843,7 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -1839,6 +1843,7 @@ public class BookGroupBizImpl implements BookGroupBiz {
String fileName = "社群码导出_" + DateUtils.getShortDateStr(); String fileName = "社群码导出_" + DateUtils.getShortDateStr();
Boolean isSuccess = true; Boolean isSuccess = true;
String zipUrl = ""; String zipUrl = "";
Long oneBookGroupId= null;
try { try {
Map<String, List<String[]>> zipFileMap = new HashMap<>(); Map<String, List<String[]>> zipFileMap = new HashMap<>();
List<String[]> qrcodePicUrls = new ArrayList<String[]>(); List<String[]> qrcodePicUrls = new ArrayList<String[]>();
...@@ -1847,6 +1852,7 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -1847,6 +1852,7 @@ public class BookGroupBizImpl implements BookGroupBiz {
if (ListUtils.isEmpty(bookDtos)) { if (ListUtils.isEmpty(bookDtos)) {
return; return;
} }
oneBookGroupId = bookDtos.get(0).getBookGroupId();
Integer noName = 0; Integer noName = 0;
for (BookDto bookDto : bookDtos) { for (BookDto bookDto : bookDtos) {
String bookName = null != bookDto.getBookName() ? StringUtil.addBracket(bookDto.getBookName()) : null; String bookName = null != bookDto.getBookName() ? StringUtil.addBracket(bookDto.getBookName()) : null;
...@@ -1890,6 +1896,9 @@ public class BookGroupBizImpl implements BookGroupBiz { ...@@ -1890,6 +1896,9 @@ public class BookGroupBizImpl implements BookGroupBiz {
content.put("commitTime", DateUtils.formatDate(new Date())); content.put("commitTime", DateUtils.formatDate(new Date()));
content.put("type", "社群码导出"); content.put("type", "社群码导出");
messageConsr.sendLetter(adviserId, adviserId, content.toJSONString(), SystemCode.adviser.code, "qrcode_download", zipUrl, fileName, NotifyOriginTypeEnum.BOOK_GROUP.value, null); messageConsr.sendLetter(adviserId, adviserId, content.toJSONString(), SystemCode.adviser.code, "qrcode_download", zipUrl, fileName, NotifyOriginTypeEnum.BOOK_GROUP.value, null);
//编辑任务queue
adviserTaskConsr.sendAdviserTaskQueue(adviserId, AdviserTaskConstants.TargetTypeEnum.QRCODE.getValue(),
oneBookGroupId, AdviserTaskConstants.OperateTypeEnum.DOWNLOAD_QRCODE.getValue());
} }
}); });
} }
......
...@@ -13,6 +13,7 @@ import com.pcloud.book.book.dto.BookDto; ...@@ -13,6 +13,7 @@ import com.pcloud.book.book.dto.BookDto;
import com.pcloud.book.book.vo.BookLinkVO; import com.pcloud.book.book.vo.BookLinkVO;
import com.pcloud.book.consumer.app.AppConsr; import com.pcloud.book.consumer.app.AppConsr;
import com.pcloud.book.consumer.channel.QrcodeSceneConsr; import com.pcloud.book.consumer.channel.QrcodeSceneConsr;
import com.pcloud.book.consumer.raystask.AdviserTaskConsr;
import com.pcloud.book.consumer.resource.ProductConsr; import com.pcloud.book.consumer.resource.ProductConsr;
import com.pcloud.book.consumer.user.AdviserConsr; import com.pcloud.book.consumer.user.AdviserConsr;
import com.pcloud.book.consumer.user.AgentConsr; import com.pcloud.book.consumer.user.AgentConsr;
...@@ -61,6 +62,7 @@ import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto; ...@@ -61,6 +62,7 @@ import com.pcloud.channelcenter.qrcode.dto.QrcodeSceneDto;
import com.pcloud.channelcenter.wechat.dto.AccountSettingDto; import com.pcloud.channelcenter.wechat.dto.AccountSettingDto;
import com.pcloud.channelcenter.wechat.dto.MessageDto; import com.pcloud.channelcenter.wechat.dto.MessageDto;
import com.pcloud.common.core.aspect.ParamLog; import com.pcloud.common.core.aspect.ParamLog;
import com.pcloud.common.core.constant.AdviserTaskConstants;
import com.pcloud.common.core.constant.ProductTypeConstant; import com.pcloud.common.core.constant.ProductTypeConstant;
import com.pcloud.common.exceptions.BizException; import com.pcloud.common.exceptions.BizException;
import com.pcloud.common.page.PageBeanNew; import com.pcloud.common.page.PageBeanNew;
...@@ -142,6 +144,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -142,6 +144,8 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
private BookGroupServeDao bookGroupServeDao; private BookGroupServeDao bookGroupServeDao;
@Autowired @Autowired
private ResourcePageCollectDao resourcePageCollectDao; private ResourcePageCollectDao resourcePageCollectDao;
@Autowired
private AdviserTaskConsr adviserTaskConsr;
@Override @Override
public Long updateResourcePage(UpdateResourcePageVO updateResourcePageVO) { public Long updateResourcePage(UpdateResourcePageVO updateResourcePageVO) {
...@@ -460,9 +464,9 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -460,9 +464,9 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
resourcePageVO.setBookId(dto.getBookId()); resourcePageVO.setBookId(dto.getBookId());
resourcePageVO.setAdviserId(dto.getCreateUser()); resourcePageVO.setAdviserId(dto.getCreateUser());
resourcePageVO.setChannelId(dto.getChannelId()); resourcePageVO.setChannelId(dto.getChannelId());
//预览码放原有的二维码
resourcePageVO.setQrcodeUrl(dto.getGroupQrcodeUrl());
} }
//预览取原有二维码
resourcePageVO.setQrcodeUrl(dto.getGroupQrcodeUrl());
} else { } else {
ResourcePage resourcePage = resourcePageDao.getBySceneId(sceneId); ResourcePage resourcePage = resourcePageDao.getBySceneId(sceneId);
if (null == resourcePage) { if (null == resourcePage) {
...@@ -1146,6 +1150,11 @@ public class ResourcePageBizImpl implements ResourcePageBiz { ...@@ -1146,6 +1150,11 @@ public class ResourcePageBizImpl implements ResourcePageBiz {
this.updateResourceColumn(columnVO); this.updateResourceColumn(columnVO);
} }
} }
ResourcePage page = resourcePageDao.getById(resourcePageId);
//发送编辑任务queue
adviserTaskConsr.sendAdviserTaskQueue(updateResourcePageVO.getCreateUser(), AdviserTaskConstants.TargetTypeEnum.QRCODE.getValue(),
page.getBookGroupId() == null ? page.getSceneId() : page.getBookGroupId(),
AdviserTaskConstants.OperateTypeEnum.CONFIGURE_RESOURCE.getValue());
return resourcePageId; return resourcePageId;
} }
......
...@@ -1229,4 +1229,16 @@ ...@@ -1229,4 +1229,16 @@
book_id = #{item.bookId} AND adviser_id = #{item.adviserId} AND channel_id = #{item.channelId} book_id = #{item.bookId} AND adviser_id = #{item.adviserId} AND channel_id = #{item.channelId}
</foreach> </foreach>
</update> </update>
<select id="hasApprovalBook4Adviser" parameterType="long" resultType="integer">
SELECT
COUNT(1)
FROM
book_adviser
WHERE
IS_DELETE = 0
AND is_approval = 1
AND CREATED_USER = #{adviserId}
</select>
</mapper> </mapper>
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