MsgWarnTemplateConstant.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. package kd.cosmic.jkjt.tmc.bei.common.constant;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONArray;
  4. import com.alibaba.fastjson.JSONObject;
  5. import kd.cosmic.jkjt.tmc.bei.common.CommonUtils;
  6. import java.math.BigDecimal;
  7. public class MsgWarnTemplateConstant {
  8. /** 飞书消息模板 */
  9. public static final String TEMPLATESTR = "{\"schema\":\"2.0\",\"config\":{\"update_multi\":true,\"style\":{\"text_size\":{\"normal_v2\":{\"default\":\"normal\",\"pc\":\"normal\",\"mobile\":\"heading\"}}}},\"body\":{\"direction\":\"vertical\",\"padding\":\"12px 12px 12px 12px\",\"elements\":[{\"tag\":\"div\",\"text\":{\"tag\":\"plain_text\",\"content\":\"付款信息\",\"text_size\":\"normal_v2\",\"text_align\":\"left\",\"text_color\":\"default\"},\"margin\":\"0px 0px 0px 0px\"}]},\"header\":{\"title\":{\"tag\":\"plain_text\",\"content\":\"\"},\"subtitle\":{\"tag\":\"plain_text\",\"content\":\"消息发送\"},\"template\":\"blue\",\"padding\":\"12px 12px 12px 12px\"}}";
  10. public static final String TEMPLATESTR_OTHERACCOUNT = "{\"schema\":\"2.0\",\"config\":{\"update_multi\":true,\"style\":{\"text_size\":{\"normal_v2\":{\"default\":\"normal\",\"pc\":\"normal\",\"mobile\":\"heading\"}}}},\"body\":{\"direction\":\"vertical\",\"padding\":\"12px 12px 12px 12px\",\"elements\":[{\"tag\":\"div\",\"text\":{\"tag\":\"plain_text\",\"content\":\"按公司规定,此账户严禁对私转账\",\"text_size\":\"normal_v2\",\"text_align\":\"left\",\"text_color\":\"red\"},\"margin\":\"0px 0px 0px 0px\"},{\"tag\":\"div\",\"text\":{\"tag\":\"plain_text\",\"content\":\"付款信息\",\"text_size\":\"normal_v2\",\"text_align\":\"left\",\"text_color\":\"default\"},\"margin\":\"0px 0px 0px 0px\"}]},\"header\":{\"title\":{\"tag\":\"plain_text\",\"content\":\"\"},\"subtitle\":{\"tag\":\"plain_text\",\"content\":\"消息发送\"},\"template\":\"blue\",\"padding\":\"12px 12px 12px 12px\"}}";
  11. // 收款通知模板
  12. /** 大额转账消息格式化
  13. * @param payerAccount 付方账户
  14. * @param payerAccountId 付方账号
  15. * @param payerBank 付方开户行
  16. * @param amount 支出金额
  17. * @param receiver 收方
  18. * @param description 摘要
  19. * @param time 时间
  20. * @return 格式化后的字符串
  21. */
  22. public static String formatLargeTransMessage(String payerAccount, String payerAccountId, String payerBank, String amount,
  23. String receiver, String description, String time) {
  24. String MSGTEMPLATE_LARGETRANS = new StringBuffer()
  25. .append("收款方:").append("%s").append("\r\n")
  26. .append("支出金额:").append("%s").append("\r\n")
  27. .append("付款方账户:").append("%s").append("\r\n")
  28. .append("付款方账号:").append("%s").append("\r\n")
  29. .append("付款方开户行:").append("%s").append("\r\n")
  30. .append("摘要:").append("%s").append("\r\n")
  31. .append("时间:").append("%s").append("\r\n")
  32. .toString();
  33. return String.format(MSGTEMPLATE_LARGETRANS,receiver,amount,payerAccount, payerAccountId, payerBank, description, time);
  34. }
  35. public static String formatDailyMessage(String payerAccount, String payerAccountId, String payerBank,
  36. String receiver, String paymentCount, String totalAmount) {
  37. String MSGTEMPLATE_PAYMENT_NOTIFICATION = new StringBuffer()
  38. .append("收款方:").append("%s").append("\r\n")
  39. .append("合计金额:").append("%s").append("\r\n")
  40. .append("付款方账户:").append("%s").append("\r\n")
  41. .append("付款方账号:").append("%s").append("\r\n")
  42. .append("付款方开户行:").append("%s").append("\r\n")
  43. .append("付款笔数:").append("%s").append("\r\n")
  44. .toString();
  45. return String.format(MSGTEMPLATE_PAYMENT_NOTIFICATION,
  46. receiver,
  47. totalAmount,
  48. payerAccount,
  49. payerAccountId,
  50. payerBank,
  51. paymentCount);
  52. }
  53. public static String formatOtherAccountMessage(String payerAccount, String payerAccountId, String payerBank, String amount,
  54. String receiver, String description, String time) {
  55. String MSGTEMPLATE_LARGETRANS = new StringBuffer()
  56. .append("收款方:").append("%s").append("\r\n")
  57. .append("金额:").append("%s").append("\r\n")
  58. .append("付款方账户:").append("%s").append("\r\n")
  59. .append("付款方账号:").append("%s").append("\r\n")
  60. .append("付款方开户行:").append("%s").append("\r\n")
  61. .append("摘要:").append("%s").append("\r\n")
  62. .append("时间:").append("%s").append("\r\n")
  63. .toString();
  64. return String.format(MSGTEMPLATE_LARGETRANS,receiver,amount,payerAccount, payerAccountId, payerBank, description, time);
  65. }
  66. /** 付款通知消息格式化
  67. * @param amount 支出金额
  68. * @param payerAccount 付方账户
  69. * @param payerAccountId 付方账号
  70. * @param payerBank 付方开户行
  71. * @param receiver 收方
  72. * @param description 摘要
  73. * @param time 时间
  74. * @return 格式化后的字符串
  75. */
  76. public static String formatAccChangeDebitMessage(String amount, String payerAccount, String payerAccountId, String payerBank,
  77. String receiver, String description, String time) {
  78. String MSGTEMPLATE_ACCCHANGE_DEBIT = new StringBuffer()
  79. .append("收款方:").append("%s").append("\r\n")
  80. .append("转出金额:").append("%s").append("\r\n")
  81. .append("付款方账户:").append("%s").append("\r\n")
  82. .append("付款方账号:").append("%s").append("\r\n")
  83. .append("付款方开户行:").append("%s").append("\r\n")
  84. .append("摘要:").append("%s").append("\r\n")
  85. .append("时间:").append("%s").append("\r\n")
  86. .toString();
  87. return String.format(MSGTEMPLATE_ACCCHANGE_DEBIT, receiver,amount, payerAccount, payerAccountId, payerBank, description, time);
  88. }
  89. public static String formatNonDirectMessageDebit(String time,String payerAccount, String payerAccountId, String payerBank,
  90. String paymentCount, String totalAmount) {
  91. String wyAmountStr = CommonUtils.convertToTenThousandYuan(new BigDecimal(totalAmount));
  92. String MSGTEMPLATE_PAYMENT_NOTIFICATION = new StringBuffer()
  93. .append("时间:").append("%s").append("\r\n")
  94. .append("付款方账户:").append("%s").append("\r\n")
  95. .append("付款方账号:").append("%s").append("\r\n")
  96. .append("付款方开户行:").append("%s").append("\r\n")
  97. .append("付款笔数:").append("%s").append("\r\n")
  98. .append("合计金额:").append("%s元,").append(wyAmountStr).append("\r\n")
  99. .toString();
  100. return String.format(MSGTEMPLATE_PAYMENT_NOTIFICATION,
  101. time,
  102. payerAccount,
  103. payerAccountId,
  104. payerBank,
  105. paymentCount,
  106. totalAmount);
  107. }
  108. public static String formatNonDirectMessageCredit(String time,String payerAccount, String payerAccountId, String payerBank,
  109. String paymentCount, String totalAmount) {
  110. String wyAmountStr = CommonUtils.convertToTenThousandYuan(new BigDecimal(totalAmount));
  111. String MSGTEMPLATE_PAYMENT_NOTIFICATION = new StringBuffer()
  112. .append("时间:").append("%s").append("\r\n")
  113. .append("付款方账户:").append("%s").append("\r\n")
  114. .append("付款方账号:").append("%s").append("\r\n")
  115. .append("付款方开户行:").append("%s").append("\r\n")
  116. .append("收款笔数:").append("%s").append("\r\n")
  117. .append("合计金额:").append("%s元,").append(wyAmountStr).append("\r\n")
  118. .toString();
  119. return String.format(MSGTEMPLATE_PAYMENT_NOTIFICATION,
  120. time,
  121. payerAccount,
  122. payerAccountId,
  123. payerBank,
  124. paymentCount,
  125. totalAmount);
  126. }
  127. /** 收款通知消息格式化
  128. * @param amount 到账金额
  129. * @param payerAccount 付方账户
  130. * @param payerAccountId 付方账号
  131. * @param payerBank 付方开户行
  132. * @param receiver 收方
  133. * @param description 摘要
  134. * @param time 到账时间
  135. * @return 格式化后的字符串
  136. */
  137. public static String formatAccChangeCreditMessage(String amount, String payerAccount, String payerAccountId, String payerBank,
  138. String receiver, String description, String time) {
  139. String MSGTEMPLATE_ACCCHANGE_CREDIT = new StringBuffer()
  140. .append("收款方:").append("%s").append("\r\n")
  141. .append("到账金额:").append("%s").append("\r\n")
  142. .append("付款方账户:").append("%s").append("\r\n")
  143. .append("付款方账号:").append("%s").append("\r\n")
  144. .append("付款方开户行:").append("%s").append("\r\n")
  145. .append("摘要:").append("%s").append("\r\n")
  146. .append("到账时间:").append("%s").append("\r\n")
  147. .toString();
  148. return String.format(MSGTEMPLATE_ACCCHANGE_CREDIT, receiver,amount, payerAccount, payerAccountId, payerBank, description, time);
  149. }
  150. public static String getFeishuTemplate(String title , String content) {
  151. return getFeishuTemplate(title,content,TEMPLATESTR);
  152. }
  153. public static String getFeishuTemplate(String title , String content , String template) {
  154. JSONObject templateObj = JSON.parseObject(template);
  155. templateObj.getJSONObject("header").getJSONObject("subtitle").put("content", title);
  156. JSONArray elements = templateObj.getJSONObject("body").getJSONArray("elements");
  157. for(int i = 0; i < elements.size(); i++){
  158. String contentTemplate = elements.getJSONObject(i).getJSONObject("text").getString("content");
  159. if("付款信息".equals(contentTemplate)){
  160. elements.getJSONObject(i).getJSONObject("text").put("content", content);
  161. break;
  162. }
  163. }
  164. return templateObj.toJSONString();
  165. }
  166. }