细化日志,修复节假日配置ui bug

master
yixian 5 years ago
parent 5dcad78f53
commit 4607536ed1

@ -151,16 +151,11 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider
@Resource @Resource
private ClientDeviceMapper clientDeviceMapper; private ClientDeviceMapper clientDeviceMapper;
private static final int MAX_TRACK_DAYS = 31; private static final int MAX_TRACK_DAYS = 31;
@Value("${app.settlement.email-to}")
private String settlementEmailTo;
@Value("${app.settlement.email-cc}")
private String settlementEmailCC;
@Value("${app.redis.settle.check-code.prefix}") @Value("${app.redis.settle.check-code.prefix}")
private String reidsCheckCodeKey; private String reidsCheckCodeKey;
private final String[] open_ids = {"o32MzuEeb5ZT_DJQYbzZf6VCu1HQ", "o32MzuIsa3OBOkvC9pL90h9pgHPg", "o32MzuCpqGQJTlvTK7VQ7m_LVXiQ"}; private final String[] open_ids = {"o32MzuEeb5ZT_DJQYbzZf6VCu1HQ", "o32MzuIsa3OBOkvC9pL90h9pgHPg", "o32MzuCpqGQJTlvTK7VQ7m_LVXiQ"};
private ApplicationEventPublisher publisher; private ApplicationEventPublisher publisher;
// private final String[] open_ids = { "o32MzuO4s8c7iFOVxnxejkbhMoEc" };
@Override @Override
public List<JSONObject> listValidatedDays(Date month) { public List<JSONObject> listValidatedDays(Date month) {
@ -1394,8 +1389,6 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
try { try {
String title = (PlatformEnvironment.getEnv().isDebug() ? "[TEST]" : "") + "Royalpay Settlement File " + DateFormatUtils.format(date, "yyyyMMdd"); String title = (PlatformEnvironment.getEnv().isDebug() ? "[TEST]" : "") + "Royalpay Settlement File " + DateFormatUtils.format(date, "yyyyMMdd");
JSONObject model = new JSONObject();
model.put("date", DateFormatUtils.format(date, "dd-MM-yyyy"));
String fileName1 = "Merchant_Settlement_Info_xlsx_" + DateFormatUtils.format(date, "yyyyMMdd"); String fileName1 = "Merchant_Settlement_Info_xlsx_" + DateFormatUtils.format(date, "yyyyMMdd");
List<JSONObject> attachList = new ArrayList<>(); List<JSONObject> attachList = new ArrayList<>();
JSONObject attach1 = new JSONObject(); JSONObject attach1 = new JSONObject();
@ -1440,8 +1433,6 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider
ctx.setVariable("totalAmount", total.setScale(2, RoundingMode.DOWN).toPlainString()); ctx.setVariable("totalAmount", total.setScale(2, RoundingMode.DOWN).toPlainString());
final String content = thymeleaf.process("mail/settlement_mail", ctx); final String content = thymeleaf.process("mail/settlement_mail", ctx);
// 测试用地址 // 测试用地址
// String mailId = mailService.sendEmail(title, "164851225@qq.com", "1029811920@qq.com", content,
// attachList);
JSONObject config = sysConfigManager.getSysConfig(); JSONObject config = sysConfigManager.getSysConfig();
String mailId = mailService.sendEmail(title, config.getString("settle_mail_to"), config.getString("settle_mail_cc"), content, attachList); String mailId = mailService.sendEmail(title, config.getString("settle_mail_to"), config.getString("settle_mail_cc"), content, attachList);

@ -147,8 +147,9 @@ public class TradeSecureServiceHanyinImpl implements TradeSecureService {
}); });
} }
@Override @Override
public void sendSecurePayInvoiceFile(String begin,String end) { public void sendSecurePayInvoiceFile(String begin, String end) {
List<JSONObject> scpayMchs = clientAnalysisMapper.listSecurePayMchs(); List<JSONObject> scpayMchs = clientAnalysisMapper.listSecurePayMchs();
scpayMchs.forEach(mch -> { scpayMchs.forEach(mch -> {
TradeLogQuery query = new TradeLogQuery(); TradeLogQuery query = new TradeLogQuery();
@ -157,7 +158,7 @@ public class TradeSecureServiceHanyinImpl implements TradeSecureService {
query.setClearing_status(-1); query.setClearing_status(-1);
byte[] fileData = new byte[0]; byte[] fileData = new byte[0];
try { try {
fileData=tradeLogService.exportTransFlowForSecurePay(query, mch); fileData = tradeLogService.exportTransFlowForSecurePay(query, mch);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
@ -168,6 +169,7 @@ public class TradeSecureServiceHanyinImpl implements TradeSecureService {
}); });
} }
private void sendSftpFile(String dateStr, String fileName, byte[] data) { private void sendSftpFile(String dateStr, String fileName, byte[] data) {
Session session = null; Session session = null;
ChannelSftp command = null; ChannelSftp command = null;
@ -179,12 +181,13 @@ public class TradeSecureServiceHanyinImpl implements TradeSecureService {
try { try {
command.mkdir(StringUtils.substring(dateStr, 0, 6)); command.mkdir(StringUtils.substring(dateStr, 0, 6));
} catch (SftpException e) { } catch (SftpException e) {
logger.error(e.getMessage()); logger.error("failed to create dir:{}---{}", fileName, e.getMessage(), e);
} }
try { try {
command.put(new ByteArrayInputStream(data), StringUtils.substring(dateStr, 0, 6) + "/" + fileName); command.put(new ByteArrayInputStream(data), StringUtils.substring(dateStr, 0, 6) + "/" + fileName);
logger.info("文件发送成功!"); logger.info("File send success!{}", fileName);
} catch (SftpException ignore) { } catch (SftpException e) {
logger.error("failed to upload file:{}", fileName, e);
} }
} catch (IOException | JSchException e) { } catch (IOException | JSchException e) {
throw new ChannelNetworkException("Send Settlement file failed", e); throw new ChannelNetworkException("Send Settlement file failed", e);

@ -593,6 +593,7 @@ public class TradeLogServiceImpl implements TradeLogService {
result.put("analysis", analysis); result.put("analysis", analysis);
return result; return result;
} }
private JSONObject listPartnerTransFlowByExportPdfSecurePay(TradeLogQuery query, JSONObject client, String[] channels) throws Exception { private JSONObject listPartnerTransFlowByExportPdfSecurePay(TradeLogQuery query, JSONObject client, String[] channels) throws Exception {
int clientId = client.getIntValue("client_id"); int clientId = client.getIntValue("client_id");
String timezone = client.getString("timezone"); String timezone = client.getString("timezone");
@ -802,8 +803,8 @@ public class TradeLogServiceImpl implements TradeLogService {
JSONObject client = clientManager.getClientInfo(partner.getIntValue("client_id")); JSONObject client = clientManager.getClientInfo(partner.getIntValue("client_id"));
Context ctx = new Context(); Context ctx = new Context();
JSONObject parmerters = new JSONObject(); JSONObject parmerters = new JSONObject();
int recordsSize=transFlow.getJSONArray("data").isEmpty()?0:transFlow.getJSONArray("data").size(); int recordsSize = transFlow.getJSONArray("data").isEmpty() ? 0 : transFlow.getJSONArray("data").size();
parmerters.put("records",recordsSize); parmerters.put("records", recordsSize);
parmerters.put("dateFrom", StringUtils.isNotBlank(query.getDatefrom()) parmerters.put("dateFrom", StringUtils.isNotBlank(query.getDatefrom())
? DateFormatUtils.format(DateUtils.parseDate(query.getDatefrom(), "yyyyMMdd"), "dd/MM/yyyy") : ""); ? DateFormatUtils.format(DateUtils.parseDate(query.getDatefrom(), "yyyyMMdd"), "dd/MM/yyyy") : "");
parmerters.put("dateTo", parmerters.put("dateTo",
@ -838,7 +839,7 @@ public class TradeLogServiceImpl implements TradeLogService {
try { try {
OutputStream outs = response.getOutputStream(); OutputStream outs = response.getOutputStream();
ByteArrayOutputStream os = new ByteArrayOutputStream(); ByteArrayOutputStream os = new ByteArrayOutputStream();
List<JSONObject> dataList= transTransform(transFlow); List<JSONObject> dataList = transTransform(transFlow);
ctx.setVariable("dataList", dataList); ctx.setVariable("dataList", dataList);
final String html = thymeleaf.process("app/invoice.html", ctx); final String html = thymeleaf.process("app/invoice.html", ctx);
response.setContentType("application/pdf"); response.setContentType("application/pdf");
@ -853,15 +854,13 @@ public class TradeLogServiceImpl implements TradeLogService {
outs.write(bytes, 0, bytes.length); outs.write(bytes, 0, bytes.length);
outs.flush(); outs.flush();
renderer.finishPDF(); renderer.finishPDF();
} } catch (Exception e) {
catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
@Override @Override
public byte[] exportTransFlowForSecurePay(TradeLogQuery query, JSONObject client) throws Exception { public byte[] exportTransFlowForSecurePay(TradeLogQuery query, JSONObject client) throws Exception {
JSONObject transFlow = listPartnerTransFlowByExportPdfSecurePay(query, client, new String[]{"Wechat", "Alipay", "AlipayOnline"}); JSONObject transFlow = listPartnerTransFlowByExportPdfSecurePay(query, client, new String[]{"Wechat", "Alipay", "AlipayOnline"});
@ -869,8 +868,8 @@ public class TradeLogServiceImpl implements TradeLogService {
// JSONObject client = clientManager.getClientInfo(partner.getIntValue("client_id")); // JSONObject client = clientManager.getClientInfo(partner.getIntValue("client_id"));
Context ctx = new Context(); Context ctx = new Context();
JSONObject parmerters = new JSONObject(); JSONObject parmerters = new JSONObject();
int recordsSize=transFlow.getJSONArray("data").isEmpty()?0:transFlow.getJSONArray("data").size(); int recordsSize = transFlow.getJSONArray("data").isEmpty() ? 0 : transFlow.getJSONArray("data").size();
parmerters.put("records",recordsSize); parmerters.put("records", recordsSize);
parmerters.put("dateFrom", StringUtils.isNotBlank(query.getDatefrom()) parmerters.put("dateFrom", StringUtils.isNotBlank(query.getDatefrom())
? DateFormatUtils.format(DateUtils.parseDate(query.getDatefrom(), "yyyyMMdd"), "dd/MM/yyyy") : ""); ? DateFormatUtils.format(DateUtils.parseDate(query.getDatefrom(), "yyyyMMdd"), "dd/MM/yyyy") : "");
parmerters.put("dateTo", parmerters.put("dateTo",
@ -904,7 +903,7 @@ public class TradeLogServiceImpl implements TradeLogService {
ctx.setVariable("orgInfo", orgInfo); ctx.setVariable("orgInfo", orgInfo);
try { try {
ByteArrayOutputStream os = new ByteArrayOutputStream(); ByteArrayOutputStream os = new ByteArrayOutputStream();
List<JSONObject> dataList= transTransform(transFlow); List<JSONObject> dataList = transTransform(transFlow);
ctx.setVariable("dataList", dataList); ctx.setVariable("dataList", dataList);
final String html = thymeleaf.process("app/invoice.html", ctx); final String html = thymeleaf.process("app/invoice.html", ctx);
@ -917,17 +916,15 @@ public class TradeLogServiceImpl implements TradeLogService {
renderer.finishPDF(); renderer.finishPDF();
os.close(); os.close();
return bytes; return bytes;
}
catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
return null; return null;
} }
private List<JSONObject> transTransform( JSONObject transFlow ){ private List<JSONObject> transTransform(JSONObject transFlow) {
List<JSONObject> dataList; List<JSONObject> dataList;
if (!transFlow.getJSONArray("data").isEmpty()) { if (!transFlow.getJSONArray("data").isEmpty()) {
dataList = transFlow.getJSONArray("data").toJavaList(JSONObject.class); dataList = transFlow.getJSONArray("data").toJavaList(JSONObject.class);
@ -958,20 +955,20 @@ public class TradeLogServiceImpl implements TradeLogService {
item.put("credit", credit); item.put("credit", credit);
item.putIfAbsent("settle_amount", "-"); item.putIfAbsent("settle_amount", "-");
}); });
}else{ } else {
dataList=new ArrayList<>(); dataList = new ArrayList<>();
JSONObject jsonObject=new JSONObject(); JSONObject jsonObject = new JSONObject();
jsonObject.put("transaction_time","-"); jsonObject.put("transaction_time", "-");
jsonObject.put("client_order_id","-"); jsonObject.put("client_order_id", "-");
jsonObject.put("order_id","-"); jsonObject.put("order_id", "-");
jsonObject.put("debit","-"); jsonObject.put("debit", "-");
jsonObject.put("credit","-"); jsonObject.put("credit", "-");
jsonObject.put("real_royalpay_surcharge","-"); jsonObject.put("real_royalpay_surcharge", "-");
jsonObject.put("incremental_surcharge","-"); jsonObject.put("incremental_surcharge", "-");
jsonObject.put("settle_amount","-"); jsonObject.put("settle_amount", "-");
dataList.add(jsonObject); dataList.add(jsonObject);
} }
return dataList; return dataList;
} }
@ -2088,8 +2085,8 @@ public class TradeLogServiceImpl implements TradeLogService {
@Override @Override
public byte[] exportPDFSettlement(TradeLogQuery query, JSONObject client) { public byte[] exportPDFSettlement(TradeLogQuery query, JSONObject client) {
logger.info("exporting settlement pdf for {}", client.getString("client_moniker"));
String begin = query.getDatefrom() == null ? "" : query.getDatefrom(); String begin = query.getDatefrom() == null ? "" : query.getDatefrom();
String end = query.getDateto() == null ? "" : query.getDateto();
String timezone = client.getString("timezone"); String timezone = client.getString("timezone");
JSONObject params = query.toParams(timezone); JSONObject params = query.toParams(timezone);
if (params.get("client_ids") == null) { if (params.get("client_ids") == null) {
@ -2099,8 +2096,8 @@ public class TradeLogServiceImpl implements TradeLogService {
List<JSONObject> clientOrderList = transactionMapper.getClientOrderByTransactionTime(params); List<JSONObject> clientOrderList = transactionMapper.getClientOrderByTransactionTime(params);
JSONObject parmerters = new JSONObject(); JSONObject parmerters = new JSONObject();
try { try {
String beginParse= DateFormatUtils.format(DateUtils.parseDate(begin,"yyyyMMdd"),"dd.MM.yyyy"); String beginParse = DateFormatUtils.format(DateUtils.parseDate(begin, "yyyyMMdd"), "dd.MM.yyyy");
parmerters.put("dateRange", "Your Statement For:"+beginParse+""); parmerters.put("dateRange", "Your Statement For:" + beginParse + "");
} catch (ParseException e) { } catch (ParseException e) {
e.printStackTrace(); e.printStackTrace();
@ -2127,8 +2124,7 @@ public class TradeLogServiceImpl implements TradeLogService {
item.put("gateway", item.getInteger("gateway") == null ? "-" : TradeType.fromGatewayNumber(item.getIntValue("gateway")).getTradeType()); item.put("gateway", item.getInteger("gateway") == null ? "-" : TradeType.fromGatewayNumber(item.getIntValue("gateway")).getTradeType());
item.put("rate", item.getBigDecimal("rate") == null ? "-" : item.getBigDecimal("rate").stripTrailingZeros().toPlainString() + "%"); item.put("rate", item.getBigDecimal("rate") == null ? "-" : item.getBigDecimal("rate").stripTrailingZeros().toPlainString() + "%");
}); });
} } else {
if (clientOrderList.size() <= 0) {
JSONObject mockJson = new JSONObject(); JSONObject mockJson = new JSONObject();
mockJson.put("order_id", "-"); mockJson.put("order_id", "-");
mockJson.put("client_order_id", "-"); mockJson.put("client_order_id", "-");
@ -2154,9 +2150,9 @@ public class TradeLogServiceImpl implements TradeLogService {
orgInfo.put("logo", "none"); orgInfo.put("logo", "none");
} }
ctx.setVariable("orgInfo", orgInfo); ctx.setVariable("orgInfo", orgInfo);
ctx.setVariable("parmerters",parmerters); ctx.setVariable("parmerters", parmerters);
ctx.setVariable("settlementLogDetailList",settlementLogDetailList); ctx.setVariable("settlementLogDetailList", settlementLogDetailList);
System.out.println("=====>reports/securepay_settlement.html:"); logger.info("=====>reports/securepay_settlement.html:");
ByteArrayOutputStream os = new ByteArrayOutputStream(); ByteArrayOutputStream os = new ByteArrayOutputStream();
final String html = thymeleaf.process("reports/securepay_settlement.html", ctx); final String html = thymeleaf.process("reports/securepay_settlement.html", ctx);
@ -2172,9 +2168,9 @@ public class TradeLogServiceImpl implements TradeLogService {
// JRDataSource jrDataSource = new JRBeanCollectionDataSource(settlementLogDetailList); // JRDataSource jrDataSource = new JRBeanCollectionDataSource(settlementLogDetailList);
// return JasperRunManager.runReportToPdf(securepay_settlement_flow.getInputStream(), parmerters, jrDataSource); // return JasperRunManager.runReportToPdf(securepay_settlement_flow.getInputStream(), parmerters, jrDataSource);
return bytes; return bytes;
} catch (Exception e) { } catch (Exception e) {
throw new ServerErrorException(e); throw new ServerErrorException("Failed to export settlement report pdf for " + client.getString("client_moniker"), e);
} }
} }

@ -444,7 +444,7 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func
scope.$close({operation: 'modify', holiday: scope.holiday}) scope.$close({operation: 'modify', holiday: scope.holiday})
} }
scope.deleteHoliday = function () { scope.deleteHoliday = function () {
scope.$close({operation: 'delete', holiday: scope.holiday.holiday.replace('/', '-')}) scope.$close({operation: 'delete', holiday: scope.holiday.holiday.replaceAll(/\//g, '-')})
} }
}], }],
resolve: { resolve: {

@ -28,8 +28,8 @@ public class AESTest {
@Test @Test
public void decode() { public void decode() {
String mailPwdEncrypted = "Vr5rSY1PsttfWVGuoq8zxQ=="; String mailPwdEncrypted = "pLkLTFw8Xf3aa6US7USSwOQ2v/q+m7HTTFhk39l4BWI=";
String decodeKey = "Vr5rSY1PsttfWVGuoq8zxQ=="; String decodeKey = "EPrfsM2JE69ZPR7BhXn34g==";
Key aesKey = AESCrypt.fromKeyString(Base64.decodeBase64(decodeKey)); Key aesKey = AESCrypt.fromKeyString(Base64.decodeBase64(decodeKey));
String mailPwd = new String(AESCrypt.decrypt(Base64.decodeBase64(mailPwdEncrypted), aesKey), StandardCharsets.UTF_8); String mailPwd = new String(AESCrypt.decrypt(Base64.decodeBase64(mailPwdEncrypted), aesKey), StandardCharsets.UTF_8);
System.out.println(mailPwd); System.out.println(mailPwd);

Loading…
Cancel
Save