| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package me.zhengjie.application.bank.mq;
- import com.alibaba.fastjson.JSONObject;
- import lombok.RequiredArgsConstructor;
- import me.zhengjie.base.util.FileUploadUtil;
- import me.zhengjie.dao.mybatis.ModelRepository;
- import me.zhengjie.dao.mybatis.OrderFileRepository;
- import me.zhengjie.dao.mybatis.ContractOrderRepository;
- import me.zhengjie.dao.mybatis.entity.ModelEntity;
- import me.zhengjie.dao.mybatis.entity.ContractOrderEntity;
- import me.zhengjie.dao.mybatis.entity.OrderFileEntity;
- import me.zhengjie.dao.mybatis.mapper.OrderFileMapper;
- import me.zhengjie.domain.model.ModelSynthesizerDomain;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.data.redis.connection.Message;
- import org.springframework.data.redis.connection.MessageListener;
- import org.springframework.stereotype.Component;
- import org.springframework.transaction.annotation.Transactional;
- import java.util.Date;
- import java.util.List;
- @Component
- @RequiredArgsConstructor
- public class RedisReceiver implements MessageListener {
- private final OrderFileMapper orderFileMapper;
- private final ContractOrderRepository contractOrderRepository;
- private final ModelRepository modelRepository;
- private final OrderFileRepository orderFileRepository;
- private final ModelSynthesizerDomain modelSynthesizerDomain;
- @Override
- @Transactional(rollbackFor = Exception.class)
- public void onMessage(Message message, byte[] pattern) {
- System.out.println("Redis message receiver for generate common doc is beginnig ...");
- String text = new String(message.getBody());
- System.out.println(text);
- if (StringUtils.isNotBlank(text)) {
- JSONObject jsonObject = JSONObject.parseObject(text);
- generateCommonDoc(jsonObject);
- }
- System.out.println("Redis message receiver for generate common doc is end.");
- }
- public void generateCommonDoc(JSONObject jsonObject) {
- String userId = jsonObject.getString("userId");
- String businessNo = jsonObject.getString("businessNo");
- //
- ContractOrderEntity contractOrderEntity = contractOrderRepository.getContractOrderWithBizNo(businessNo);
- List<ModelEntity> models = modelRepository.getCommonModel(contractOrderEntity.getProdId(),contractOrderEntity.getContractType(), contractOrderEntity.getNotaryOfficeId());
- // 在保存之前先删除数据
- orderFileRepository.delFileWithBizNO(businessNo);
- for (ModelEntity m : models) {
- OrderFileEntity fileEntity = new OrderFileEntity();
- fileEntity.setBusinessNo(businessNo);
- fileEntity.setCode(m.getCode());
- fileEntity.setSortNum(m.getSort());
- String html = modelSynthesizerDomain.composeCommonTemplateWithData(businessNo, m.getContent(),"");
- String htmlPath = FileUploadUtil.saveHtml(html, businessNo);
- String pdfPath = FileUploadUtil.savePdf(html, businessNo);
- fileEntity.setHtmlUrl(htmlPath);
- fileEntity.setPdfUrl(pdfPath);
- fileEntity.setCreateTime(new Date());
- fileEntity.setCreatorId(Long.parseLong(userId));
- fileEntity.setFileName(m.getTitle());
- //
- orderFileMapper.insert(fileEntity);
- }
- }
- }
|