sakuya 3 лет назад
Родитель
Сommit
abb6299be2

+ 40 - 30
eladmin-system/src/main/java/me/zhengjie/application/bank/mq/RedisReceiver.java

@@ -8,7 +8,6 @@ import me.zhengjie.base.util.DateUtils;
 import me.zhengjie.base.util.FileUploadUtil;
 import me.zhengjie.base.util.StatusEnum.SexStatusEnum;
 import me.zhengjie.base.util.TextTempletUtil;
-import me.zhengjie.dao.mybatis.BankRepository;
 import me.zhengjie.dao.mybatis.ModelRepository;
 import me.zhengjie.dao.mybatis.OrderFileRepository;
 import me.zhengjie.dao.mybatis.OrderRepository;
@@ -45,38 +44,46 @@ public class RedisReceiver implements MessageListener {
 	@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);
-			String userId = jsonObject.getString("userId");
-			String businessNo = jsonObject.getString("businessNo");
+			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");
+		//
+		OrderEntity orderEntity = orderRepository.getOrderByBizNo(businessNo);
+		List<ModelEntity> models = modelRepository.getCommonModel(orderEntity.getProdId(), orderEntity.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 = replaceFlag(m.getContent(), orderEntity);
+			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());
+			fileEntity.setProdId(m.getProductType());
 			//
-			OrderEntity orderEntity = orderRepository.getOrderByBizNo(businessNo);
-			List<ModelEntity> models = modelRepository.getCommonModel(orderEntity.getProdId(), orderEntity.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 = replaceFlag(m.getContent(), orderEntity);
-				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());
-				fileEntity.setProdId(m.getProductType());
-				//
-				orderFileMapper.insert(fileEntity);
-			}
+			orderFileMapper.insert(fileEntity);
 		}
 	}
 
 	/**
 	 * 替换文本标记
+	 *
 	 * @param content
 	 * @param orderEntity
 	 * @return
@@ -84,9 +91,8 @@ public class RedisReceiver implements MessageListener {
 	private String replaceFlag(String content, OrderEntity orderEntity) {
 		Map<String, String> map = new HashMap<>();
 		map.put("$Date$", DateUtils.date2String(new Date(), 1));
-		map.put("$Bank$", orderEntity.getBankName());
 		map.put("$BusinessOrderNo$", orderEntity.getBusinessNo());
-		//
+		// 准备借款人信息
 		BorrowerEntity borrower = orderRepository.getBorrowerByBizNo(orderEntity.getBusinessNo());
 		if (borrower != null) {
 			map.put("$LoanName$", borrower.getUsername());
@@ -98,10 +104,10 @@ public class RedisReceiver implements MessageListener {
 			if (borrower.getJointFlag() == 1) {
 				try {
 					SimpleDateFormat dateSrcFormatter = new SimpleDateFormat("yyyyMMdd");
-					SimpleDateFormat dateDestFormatter = new SimpleDateFormat("yyyy-MM-dd");
+					SimpleDateFormat dateDestFormatter = new SimpleDateFormat("yyyy/MM/dd");
 					Date date = dateSrcFormatter.parse(borrower.getIdCard().substring(6, 14));
 					map.put("$MateName$", borrower.getSpouseName());
-					map.put("$MateSex$", "1".equals(borrower.getSpouseSex()) ? "男" : "女");
+					map.put("$MateSex$", SexStatusEnum.getValue(borrower.getSpouseSex()));
 					map.put("$MateBirthday$", dateDestFormatter.format(date));
 					map.put("$MateAddr$", borrower.getResidence());
 					map.put("$MatePhone$", borrower.getSpousePhone());
@@ -117,6 +123,7 @@ public class RedisReceiver implements MessageListener {
 				map.put("$MatePhone$", "无");
 			}
 		}
+		// 准备抵押人信息
 		MortgageEntity mortgage = orderRepository.getMortgageByBizNo(orderEntity.getBusinessNo());
 		if (mortgage != null) {
 			map.put("$MortgageName$", mortgage.getUsername());
@@ -126,6 +133,7 @@ public class RedisReceiver implements MessageListener {
 			map.put("$MortgageIDNo$", mortgage.getIdCard());
 			map.put("$MortgagePhone$", mortgage.getPhone());
 		}
+		// 准备担保人信息
 		GuaranteeEntity guarantee = orderRepository.getGuaranteeByBizNo(orderEntity.getBusinessNo());
 		if (guarantee != null) {
 			map.put("$GuaranteeName$", guarantee.getUsername());
@@ -135,16 +143,18 @@ public class RedisReceiver implements MessageListener {
 			map.put("$GuaranteeIDNo$", guarantee.getIdCard());
 			map.put("$GuaranteePhone$", guarantee.getPhone());
 		}
+		// 准备银行信息
 		BankEntity bank = bankMapper.selectById(orderEntity.getBankId());
+		map.put("$Bank$", bank.getBankName());
 		map.put("$BankAddr$", bank.getAddress());
 		map.put("$BankLeader$", bank.getPrincipal());
 		map.put("$BankPhone$", bank.getPhone());
-		//
+		// 准备客户经理信息
 		SysUserEntity user = sysUserMapper.selectById(orderEntity.getCustomerId());
 		map.put("$PBName$", user.getNickName());
 		map.put("$PBSex$", user.getGender());
 		map.put("$PBPhone$", user.getPhone());
-		//
+		// 准备公证处信息
 		NotaryOfficeEntity office = notaryOfficeMapper.selectById(orderEntity.getNotaryOfficeId());
 		String[] areas = office.getAreaCodesStr().split(",");
 		QueryWrapper<ProvinceEntity> provinceQW = new QueryWrapper<>();

+ 23 - 4
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/NotaryNoteServiceImpl.java

@@ -96,14 +96,14 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 		borrowQw.eq("business_no", notary.getBusinessNo());
 		BorrowerEntity borrower = borrowerMapper.selectOne(borrowQw);
 		noteValue.put("$LoanName$", borrower.getUsername());
-		noteValue.put("$LoanBirthdday$", borrower.getBirth());
+		noteValue.put("$LoanBirthday$", borrower.getBirth());
 		noteValue.put("$LoanIDNo$", borrower.getIdCard());
 		noteValue.put("$LoanAmount$", borrower.getSumMoney());
 		noteValue.put("$LoanTerm$", borrower.getStartDate() + "~" + borrower.getEndDate());
 		noteValue.put("$LoanRate$", borrower.getRate());
 		noteValue.put("$LoanPhone$", borrower.getPhone());
 		noteValue.put("$LoanSex$", "1".equals(borrower.getSex()) ? "男" : "女");
-		noteValue.put("$LoanHomeAddr$", borrower.getResidence());
+		noteValue.put("$LoanAddr$", borrower.getResidence());
 		try {
 			SimpleDateFormat monthformatter = new SimpleDateFormat("yyyy-MM");
 			Date beginDate = monthformatter.parse(borrower.getStartDate());
@@ -138,6 +138,25 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 			noteValue.put("$GuaranteeSex$", "1".equals(guarantee.getSex()) ? "男" : "女");
 			noteValue.put("$GuaranteeHomeAddr$", guarantee.getResidence());
 		}
+		// 准备银行信息
+		BankEntity bank = bankMapper.selectById(orderEntity.getBankId());
+		noteValue.put("$Bank$", bank.getBankName());
+		noteValue.put("$BankAddr$", bank.getAddress());
+		noteValue.put("$BankLeader$", bank.getPrincipal());
+		noteValue.put("$BankPhone$", bank.getPhone());
+		try {
+			// 准备客户经理信息
+			SimpleDateFormat dateSrcFormatter = new SimpleDateFormat("yyyyMMdd");
+			SimpleDateFormat dateDestFormatter = new SimpleDateFormat("yyyy/MM/dd");
+			SysUserEntity customer = sysUserMapper.selectById(orderEntity.getCustomerId());
+			noteValue.put("$PBName$", customer.getNickName());
+			noteValue.put("$PBSex$", customer.getGender());
+			noteValue.put("$PBPhone$", customer.getPhone());
+			noteValue.put("$PBBirthday$", dateDestFormatter.format(dateSrcFormatter.parse(customer.getIdCard().substring(6, 14))));
+			noteValue.put("$PBIDNo$", customer.getIdCard());
+		}catch (Exception e){
+			e.printStackTrace();
+		}
 		// 查询问题列表
 		QueryWrapper<ModelEntity> modelQw = new QueryWrapper<>();
 		modelQw.eq("notary_office_id", entity.getId());
@@ -401,8 +420,8 @@ public class NotaryNoteServiceImpl extends ServiceImpl<INotaryNoteDao, NotaryNot
 		if (mortgage != null) {
 			map.put("$MortgageName$", mortgage.getUsername());
 			map.put("$MortgageSex$", StatusEnum.SexStatusEnum.getValue(mortgage.getSex()));
-			map.put("$MortgageBirthdday$", mortgage.getBirth());
-			map.put("$MortgageHomeAddr$", mortgage.getResidence());
+			map.put("$MortgageBirthday$", mortgage.getBirth());
+			map.put("$MortgageAddr$", mortgage.getResidence());
 			map.put("$MortgageIDNo$", mortgage.getIdCard());
 			map.put("$MortgagePhone$", mortgage.getPhone());
 		}

+ 4 - 2
eladmin-system/src/main/java/me/zhengjie/application/bank/service/impl/OrderServiceImpl.java

@@ -10,6 +10,7 @@ import me.zhengjie.application.bank.controller.vo.BorrowerVo;
 import me.zhengjie.application.bank.controller.vo.OrderDetailDto;
 import me.zhengjie.application.bank.controller.vo.BankOrderVO;
 import me.zhengjie.application.bank.controller.vo.Sms;
+import me.zhengjie.application.bank.mq.RedisReceiver;
 import me.zhengjie.application.bank.service.FileInfoService;
 import me.zhengjie.application.bank.service.OrderRoomIdService;
 import me.zhengjie.application.bank.service.OrderService;
@@ -70,6 +71,7 @@ public class OrderServiceImpl implements OrderService {
 	private final OrderRoomIdService orderRoomIdService;
 	private final OrderMapper orderMapper;
 	private final SysUserMapper userDao;
+	private final RedisReceiver redisReceiver;
 
 	@Override
 	public int checkOrder(Sms sms) {
@@ -199,8 +201,8 @@ public class OrderServiceImpl implements OrderService {
 		JSONObject jsonObject = new JSONObject();
 		jsonObject.put("businessNo", businessNo);
 		jsonObject.put("userId", currentUser.getUserId());
-		redisTemplate.convertAndSend(RedisCacheConfig.CHANNEL_HTML_PDF, jsonObject.toJSONString());
-
+		redisReceiver.generateCommonDoc(jsonObject);
+//		redisTemplate.convertAndSend(RedisCacheConfig.CHANNEL_HTML_PDF, jsonObject.toJSONString());
 		response.setCode(ResultCode.SUCCESS.code());
 		response.setMessage(ResultCode.SUCCESS.message());
 		return response;