diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/EstimateAnalysisServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/EstimateAnalysisServiceImpl.java index 1fedfab93..2dc8f4195 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/EstimateAnalysisServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/core/impls/EstimateAnalysisServiceImpl.java @@ -154,6 +154,7 @@ public class EstimateAnalysisServiceImpl implements EstimateAnalysisService { DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //T1 ok JSONObject dayInfo = new JSONObject(); + dayInfo.put("platformGetSettleFee", BigDecimal.ZERO); String endStr = DateFormatUtils.format(date, "yyyy/MM/dd"); JSONObject maxDays = estimateAnalysisMapper.findMaxCleanDays(endStr); String end_date = maxDays.getString("date_str"); @@ -172,9 +173,10 @@ public class EstimateAnalysisServiceImpl implements EstimateAnalysisService { } List alipayOnlineSettleLogs = platformSettlementMapper.findBySettleDate(new Date(estimateAnalysisMapper.findLastCleanDays(end_date, 1).getDate("date_str").getTime()), "AlipayOnline"); + logger.info(" Estimate alipayOnlineSettleLogs is :{}", alipayOnlineSettleLogs.toString()); for (JSONObject logs : alipayOnlineSettleLogs) { dayInfo.put("aliOnlineSettleFee_" + logs.getString("merchants"), logs.getBigDecimal("settlement_fee")); - dayInfo.put("platformGetSettleFee",dayInfo.getBigDecimal("platformGetSettleFee").add(dayInfo.getBigDecimal("aliOnlineSettleFee_" + logs.getString("merchants")))); + dayInfo.put("platformGetSettleFee", dayInfo.getBigDecimal("platformGetSettleFee").add(dayInfo.getBigDecimal("aliOnlineSettleFee_" + logs.getString("merchants")))); } cleanDays.clear(); diff --git a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java index 371db155a..f8f3a01a9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/appclient/core/impls/RetailAppServiceImp.java @@ -457,12 +457,13 @@ public class RetailAppServiceImp implements RetailAppService { @Override public JSONObject getCouponCusCouponLog(String client_moniker, AppQueryBean appQueryBean) { + String keyword = "CTRIP_"; JSONObject client = clientMapper.findClientByMoniker(client_moniker); if (client == null) { throw new BadRequestException("Partner not exists"); } PageList cusCouponLogs = couponAccuessLogMapper.getCouponAccuessLog( - client.getIntValue("client_id"), new PageBounds(appQueryBean.getPage(), appQueryBean.getLimit(), Order.formString("creation_date.desc"))); + client.getIntValue("client_id"), keyword, new PageBounds(appQueryBean.getPage(), appQueryBean.getLimit(), Order.formString("creation_date.desc"))); HashMap couponMap = new HashMap<>(); for(JSONObject cusCouponLog : cusCouponLogs) { cusCouponLog.put("client_moniker", client_moniker); @@ -487,7 +488,7 @@ public class RetailAppServiceImp implements RetailAppService { Date date = new Date(); couponAccuessLog.put("client_id", client_id); couponAccuessLog.put("order_id", "非平台订单"); - couponAccuessLog.put("coupon_id", coupon_id); + couponAccuessLog.put("coupon_id", "CTRIP_"+coupon_id); couponAccuessLog.put("customer_openid", "非平台订单"); couponAccuessLog.put("coupon_deal_amount", 0); couponAccuessLog.put("currency", "AUD"); @@ -775,33 +776,6 @@ public class RetailAppServiceImp implements RetailAppService { TimeZoneUtils.switchTimeZone(orders, query.getTimezone(), "create_time", "transaction_time", "confirm_time"); ArrayList date_contains = new ArrayList<>(); for (JSONObject order : orders) { - String customer_id = order.getString("customer_id"); - if (StringUtils.isEmpty(customer_id)) { - continue; - } - switch (order.getString("channel")) { - case "Alipay": - JSONObject alipayUser = managerCustomerRelationAlipayMapper.findCustomerByUserId(customer_id); - if (alipayUser != null) { - order.put("nickname", alipayUser.getString("nickname")); - order.put("headimg", alipayUser.getString("headimg")); - } - break; - case "Wechat": - JSONObject weUser = new JSONObject(); - if (customer_id.startsWith("olH")) { - weUser = customerMapper.findCustomerGlobalpayByOpenId(customer_id); - } else { - weUser = customerMapper.findCustomerByOpenId(customer_id); - } - if (weUser != null && !weUser.isEmpty()) { - order.put("nickname", weUser.getString("nickname")); - order.put("headimg", weUser.getString("headimg")); - } - break; - default: - break; - } Calendar calendar = (Calendar) order.get("transaction_time"); String trade_date = DateFormatUtils.format(calendar, "yyyy-MM-dd", calendar.getTimeZone()); String trade_time = DateFormatUtils.format(calendar, "HH:mm:ss", calendar.getTimeZone()); @@ -831,6 +805,33 @@ public class RetailAppServiceImp implements RetailAppService { order.put("date_total", analysis); date_contains.add(trade_date); } + String customer_id = order.getString("customer_id"); + if (StringUtils.isEmpty(customer_id)) { + continue; + } + switch (order.getString("channel")) { + case "Alipay": + JSONObject alipayUser = managerCustomerRelationAlipayMapper.findCustomerByUserId(customer_id); + if (alipayUser != null) { + order.put("nickname", alipayUser.getString("nickname")); + order.put("headimg", alipayUser.getString("headimg")); + } + break; + case "Wechat": + JSONObject weUser = new JSONObject(); + if (customer_id.startsWith("olH")) { + weUser = customerMapper.findCustomerGlobalpayByOpenId(customer_id); + } else { + weUser = customerMapper.findCustomerByOpenId(customer_id); + } + if (weUser != null && !weUser.isEmpty()) { + order.put("nickname", weUser.getString("nickname")); + order.put("headimg", weUser.getString("headimg")); + } + break; + default: + break; + } } return PageListUtils.buildPageListResult(orders); } diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java index ca6b5b381..639d14987 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/AliforexcelServiceImpl.java @@ -40,7 +40,7 @@ public class AliforexcelServiceImpl implements AliforexcelService { sheet.setDefaultColumnWidth((short) 25); int rowNum = 0; Row row = sheet.createRow(rowNum); - String[] title = {"Company name", "Store name", "Partner Code","Industry","Store address","Business hours","Contact information","Video link (optional)","Store description","Tags"}; + String[] title = {"Company name", "Store name", "Partner Code","Industry","Store address","Business hours","Contact information","Video link (optional)","Store description","Tags","Logo","Company Photo"}; for (int i = 0; i < title.length; i++) { row.createCell(i, Cell.CELL_TYPE_STRING).setCellValue(title[i]); } @@ -60,6 +60,8 @@ public class AliforexcelServiceImpl implements AliforexcelService { row.createCell(7, Cell.CELL_TYPE_STRING).setCellValue(partner.getString("")); row.createCell(8, Cell.CELL_TYPE_STRING).setCellValue(partner.getString("merchant_introduction")); row.createCell(9, Cell.CELL_TYPE_STRING).setCellValue(partner.getString("")); + row.createCell(10, Cell.CELL_TYPE_STRING).setCellValue(partner.getString("logo_url")); + row.createCell(11, Cell.CELL_TYPE_STRING).setCellValue(partner.getString("company_photo")); } wb.write(ous); ous.flush(); diff --git a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/HfUpdateImpl.java b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/HfUpdateImpl.java index 67c1a0bfa..4d10674de 100644 --- a/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/HfUpdateImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/dev/core/impl/HfUpdateImpl.java @@ -1,30 +1,28 @@ package au.com.royalpay.payment.manage.dev.core.impl; -import au.com.royalpay.payment.manage.dev.core.HfClearAmountService; import au.com.royalpay.payment.manage.dev.core.HfUpdateService; -import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; +import au.com.royalpay.payment.manage.mappers.system.ClientConfigMapper; import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApi; import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApiProvider; import au.com.royalpay.payment.tools.env.PlatformEnvironment; -import au.com.royalpay.payment.tools.exceptions.ServerErrorException; -import com.alibaba.fastjson.JSONArray; + import com.alibaba.fastjson.JSONObject; -import com.google.gson.JsonArray; -import org.apache.commons.lang3.time.DateUtils; + import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.text.ParseException; import java.util.List; +import javax.annotation.Resource; + @Service public class HfUpdateImpl implements HfUpdateService { @Resource private ClientMapper clientMapper; @Resource private MpWechatApiProvider mpWechatApiProvider; + @Resource + private ClientConfigMapper clientConfigMapper; @Override public String updateStatus() { @@ -32,8 +30,14 @@ public class HfUpdateImpl implements HfUpdateService { clientIds.forEach(dbResult -> { String longUrl = PlatformEnvironment.getEnv().concatUrl("/api/v1.0/hf_gateway/partners/" + dbResult.getString("client_moniker") + "/jump/pc"); MpWechatApi api = mpWechatApiProvider.getNewPaymentApi(); - dbResult.put("hf_pay_url", api.registerShortUrl(longUrl)); + String url = api.registerShortUrl(longUrl); + dbResult.put("hf_pay_url", url); + JSONObject config = new JSONObject(); + config.put("client_id",dbResult.getString("client_id")); + config.put("hf_pay_url", url); + clientConfigMapper.update(config); clientMapper.update(dbResult); + }); return "ok"; } diff --git a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/CleanService.java b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/CleanService.java index da0346bf6..09518584a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/CleanService.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/CleanService.java @@ -31,8 +31,6 @@ public interface CleanService { JSONObject getClearDetails(Date dt, String managerId); - JSONObject getClearDetailsLimit20(Date dt, String managerId); - JSONObject getCleanLogTransactions(int detailId, JSONObject manager); Map getDayAndChannelOfAnalysisMap(int detailId, String channel,JSONObject manager); diff --git a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java index 996bd833a..c99cf7636 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/clearing/core/impl/CleanServiceImpl.java @@ -4,7 +4,11 @@ import au.com.royalpay.payment.core.PaymentApi; import au.com.royalpay.payment.core.exceptions.InvalidShortIdException; import au.com.royalpay.payment.core.tasksupport.SettlementSupport; import au.com.royalpay.payment.manage.management.clearing.core.CleanService; -import au.com.royalpay.payment.manage.mappers.log.*; +import au.com.royalpay.payment.manage.mappers.log.ClearingDetailAnalysisMapper; +import au.com.royalpay.payment.manage.mappers.log.ClearingDetailMapper; +import au.com.royalpay.payment.manage.mappers.log.ClearingLogMapper; +import au.com.royalpay.payment.manage.mappers.log.LogSettleMailMapper; +import au.com.royalpay.payment.manage.mappers.log.ValidationLogMapper; import au.com.royalpay.payment.manage.mappers.payment.TaskManualSettleMapper; import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; import au.com.royalpay.payment.manage.mappers.system.CalendarMapper; @@ -25,6 +29,7 @@ import au.com.royalpay.payment.tools.connections.mpsupport.MpWechatApiProvider; import au.com.royalpay.payment.tools.connections.mpsupport.beans.TemplateMessage; import au.com.royalpay.payment.tools.defines.TradeType; import au.com.royalpay.payment.tools.env.PlatformEnvironment; +import au.com.royalpay.payment.tools.env.SysConfigManager; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.exceptions.NotFoundException; @@ -33,12 +38,14 @@ import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.tools.tasksupport.TaskFinishNotifyEvent; import au.com.royalpay.payment.tools.utils.PageListUtils; import au.com.royalpay.payment.tools.utils.TimeZoneUtils; + import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.miemiedev.mybatis.paginator.domain.Order; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; + import org.apache.commons.codec.binary.Base64; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVPrinter; @@ -47,7 +54,12 @@ import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; -import org.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.Font; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.joda.time.DateTime; import org.joda.time.Days; @@ -65,20 +77,37 @@ import org.springframework.util.CollectionUtils; import org.thymeleaf.context.Context; import org.thymeleaf.spring4.SpringTemplateEngine; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.io.*; +import java.io.BufferedWriter; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.io.Writer; import java.math.BigDecimal; import java.math.RoundingMode; import java.net.URISyntaxException; import java.text.DecimalFormat; import java.text.NumberFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Currency; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import java.util.TreeMap; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; + import static au.com.royalpay.payment.manage.permission.utils.OrgCheckUtils.checkOrgPermission; /** @@ -125,6 +154,8 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider private SpringTemplateEngine thymeleaf; @Resource private ClientConfigService clientConfigService; + @Resource + private SysConfigManager sysConfigManager; @Value("${app.settlement.email-to}") private String settlementEmailTo; @@ -248,69 +279,6 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider return total; } - @Override - public JSONObject getClearDetailsLimit20(Date settleDate, String managerId) { - List logs = clearingLogMapper.findByDate(settleDate); - if (logs.isEmpty()) { - throw new NotFoundException(); - } - JSONObject total = new JSONObject(); - total.put("settle_date", settleDate); - total.put("total_credit", 0); - total.put("total_debit", 0); - total.put("gross_amount", 0); - total.put("wechat_charge", 0); - total.put("royalpay_charge", 0); - total.put("net_amount", 0); - total.put("total_charge", 0); - total.put("tax_amount", 0); - total.put("charge_cashback", 0); - - List details = new ArrayList<>(); - List totalList = new ArrayList<>(); - int clearingId = 0; - for (JSONObject log : logs) { - addBigDecimal(total, log, "total_credit"); - addBigDecimal(total, log, "total_debit"); - addBigDecimal(total, log, "gross_amount"); - addBigDecimal(total, log, "wechat_charge"); - addBigDecimal(total, log, "royalpay_charge"); - addBigDecimal(total, log, "net_amount"); - addBigDecimal(total, log, "total_charge"); - addBigDecimal(total, log, "charge_cashback"); - addBigDecimal(total, log, "tax_amount"); - clearingId = log.getIntValue("clearing_id"); - List logDetails = clearingDetailMapper.listReportsOfSettlementLimit20(clearingId); - details.addAll(logDetails); - List banks = logDetails.stream().map(detail -> detail.getString("settle_bank")).distinct().collect(Collectors.toList()); - - List bankStatistics = banks.stream().map(bank -> { - JSONObject data = new JSONObject(); - data.put("bank", bank); - data.put("total_settle", logDetails.stream() - .filter(detail -> bank.equals(detail.getString("settle_bank"))) - .map(detail -> detail.getBigDecimal("clearing_amount")) - .reduce(BigDecimal::add) - ); - data.put("clients", logDetails.stream() - .filter(detail -> bank.equals(detail.getString("settle_bank"))) - .count()); - return data; - }).collect(Collectors.toList()); - //bankStatistics.put() - log.put("bank_statistics", bankStatistics); - log.put("editable", DateUtils.isSameDay(log.getDate("settle_date"), new Date()) && log.getBooleanValue("editable")); - log.put("channel_analysis", clearingDetailAnalysisMapper.analysisChannelReport(clearingId)); - } - totalList = clearingDetailMapper.listRepostTotal(clearingId); - total.put("totalList", totalList); - total.put("logs", logs); - total.put("details", details); - List channels = clearingDetailAnalysisMapper.analysisChannelReportDaily(settleDate); - total.put("channel_analysis", channels); - return total; - } - private void addBigDecimal(JSONObject total, JSONObject log, String key) { total.put(key, total.getBigDecimal(key).add(log.getBigDecimal(key))); } @@ -1004,11 +972,6 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider String title = "Royalpay Settlement File " + DateFormatUtils.format(date, "yyyyMMdd"); JSONObject model = new JSONObject(); model.put("date", DateFormatUtils.format(date, "dd-MM-yyyy")); - // todo themeleaf - - - // final String content = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, - // "mail/settlement_mail.vm", "utf-8", model); String fileName1 = "Merchant_Settlement_Info_xlsx_" + DateFormatUtils.format(date, "yyyyMMdd"); List attachList = new ArrayList<>(); JSONObject attach1 = new JSONObject(); @@ -1052,9 +1015,8 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider // 测试用地址 // String mailId = mailService.sendEmail(title, "164851225@qq.com", "1029811920@qq.com", content, // attachList); - String mailId = mailService.sendEmail(title, "diana.baldi@flexewallet.com,steven.stamboultgis@novatti.com,fazal.cader@flexewallet.com", - "locky@royalpay.com.au,leo.huang@royalpay.com.au,eason.qian@royalpay.com.au,astro.dai@royalpay.com.au,settlement@royalpay.com.au,settlements@flexewallet.com", - content, attachList); + JSONObject config = sysConfigManager.getSysConfig(); + String mailId = mailService.sendEmail(title, config.getString("settle_mail_to"),config.getString("settle_mail_cc"), content, attachList); if (settleMail == null) { JSONObject settleMailRecord = new JSONObject(); diff --git a/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/SettlementDevController.java b/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/SettlementDevController.java index b010016c2..f4dea7830 100644 --- a/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/SettlementDevController.java +++ b/src/main/java/au/com/royalpay/payment/manage/management/clearing/web/SettlementDevController.java @@ -42,16 +42,6 @@ public class SettlementDevController { } @RequestMapping("/reports/{date}") - public JSONObject settleReportLimit20(@PathVariable String date,@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { - try { - Date dt = dateFormat.parse(date); - return cleanService.getClearDetailsLimit20(dt, manager.getString("manager_id")); - } catch (ParseException e) { - throw new BadRequestException("error.payment.valid.invalid_date_format"); - } - } - - @RequestMapping("/reports/{date}/all") public JSONObject settleReport(@PathVariable String date, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { try { Date dt = dateFormat.parse(date); diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/log/ClearingDetailMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/log/ClearingDetailMapper.java index 3ddf28559..62ff594d9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/log/ClearingDetailMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/log/ClearingDetailMapper.java @@ -29,8 +29,6 @@ public interface ClearingDetailMapper { List listReportsOfSettlement(@Param("clearing_id") int clearingId); - List listReportsOfSettlementLimit20(@Param("clearing_id") int clearingId); - JSONObject listReportsOfSettleCleanDay(@Param("clearing_id") int clearingId, @Param("client_ids") List client_ids); PageList listReportsOfSettlementLogs(JSONObject params, PageBounds pagination); @@ -50,7 +48,4 @@ public interface ClearingDetailMapper { @AutoSql(type = SqlType.DELETE) void deleteSettleLogs(@Param("clearing_id") int clearingId); - - List listRepostTotal(@Param("clearing_id") int clearingId); - } diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/log/CouponAccuessLogMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/log/CouponAccuessLogMapper.java index 6aa29ddaa..8f62c7c2b 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/log/CouponAccuessLogMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/log/CouponAccuessLogMapper.java @@ -29,6 +29,5 @@ public interface CouponAccuessLogMapper { @AutoSql(type = SqlType.SELECT) List findCouponByOrderId(@Param("order_id") String order_id); - @AutoSql(type = SqlType.SELECT) - PageList getCouponAccuessLog(@Param("client_id")int client_id, PageBounds pageBounds); + PageList getCouponAccuessLog(@Param("client_id")int client_id, @Param("keyword")String keyword, PageBounds pageBounds); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index e0b1a47da..9556183e0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -414,7 +414,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid //HF支付链接二维码 if (client.getString("hf_pay_url") != null) { - client.put("hfQrcodeUrl", QRCodeUtils.qrcodeImageCode(client.getString("hf_pay_url"), 200, false)); + String hfQrcodeUrl = PlatformEnvironment.getEnv().concatUrl("/api/v1.0/hf_gateway/partners/" + client.getString("client_moniker") + "/jump/app"); + client.put("hfQrcodeUrl", QRCodeUtils.qrcodeImageCode(hfQrcodeUrl, 250, true)); } return client; } @@ -3758,6 +3759,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } } clientModifySupport.processClientConfigModify(new SwitchPermissionModify(manager, clientMoniker, "enable_link", allow)); + clientModifySupport.processClientConfigModify(new SwitchPermissionModify(manager, clientMoniker, "enable_hf", allow)); } @@ -3777,7 +3779,15 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid ctx.setVariable("name", client.getString("contact_person")); ctx.setVariable("order_id", order.getString("order_id")); ctx.setVariable("amount", order.getString("total_amount")); - ctx.setVariable("time", order.getString("create_time")); + ctx.setVariable("currency", order.getString("currency")); + String create_time = ""; + if (client.getString("timezone") != null) { + create_time = DateFormatUtils.format(order.getDate("create_time"), + "yyyy-MM-dd HH:mm:ss", TimeZone.getTimeZone(client.getString("timezone"))); + } else { + create_time = DateFormatUtils.format(order.getDate("create_time"), "yyyy-MM-dd HH:mm:ss"); + } + ctx.setVariable("time", create_time); final String content = thymeleaf.process( "mail/hf_email_notice", ctx); final String mailTo = client.getString("contact_email"); if (StringUtils.isEmpty(mailTo)) { diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/log/ClearingDetailMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/log/ClearingDetailMapper.xml index 154ee5abe..473d41a81 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/log/ClearingDetailMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/log/ClearingDetailMapper.xml @@ -25,37 +25,7 @@ INNER JOIN sys_clients c ON c.client_id = d.client_id AND c.is_valid=1 WHERE d.clearing_id = #{clearing_id} - - - \ No newline at end of file diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/log/CouponAccuessLogMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/log/CouponAccuessLogMapper.xml new file mode 100644 index 000000000..784d34e3b --- /dev/null +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/log/CouponAccuessLogMapper.xml @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml index 8e78618fb..ac92fbe79 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientMapper.xml @@ -172,7 +172,7 @@ -
- - -
-   仅支持微信客户端扫描
-
+
+ + +
+ 仅支持微信客户端扫描 +
+ diff --git a/src/main/ui/static/payment/partner/templates/partner_payment_info.html b/src/main/ui/static/payment/partner/templates/partner_payment_info.html index 80558c3a0..e4a502704 100644 --- a/src/main/ui/static/payment/partner/templates/partner_payment_info.html +++ b/src/main/ui/static/payment/partner/templates/partner_payment_info.html @@ -328,14 +328,16 @@
-   {{paymentInfo.hf_pay_url}} +   {{paymentInfo.hf_pay_url}} + +
- +
-   仅支持微信客户端扫描 +   仅支持微信客户端扫描
diff --git a/src/main/ui/static/templates/hf/css/gateway_payment.css b/src/main/ui/static/templates/hf/css/gateway_payment.css index 5b68bcd22..979b13935 100644 --- a/src/main/ui/static/templates/hf/css/gateway_payment.css +++ b/src/main/ui/static/templates/hf/css/gateway_payment.css @@ -150,12 +150,12 @@ select { .main-middle { width: 2px; - height: 306px; + height: 400px; border: 1px dashed #EBEBEB; display: inline-block; box-sizing: border-box; vertical-align: top; - margin: 47px 40px 0 0; + margin: 10px 40px 0 0; } .main-right { vertical-align: top; diff --git a/src/main/ui/static/templates/hf/gateway_payment.js b/src/main/ui/static/templates/hf/gateway_payment.js index 044c28dfb..845a8ad45 100644 --- a/src/main/ui/static/templates/hf/gateway_payment.js +++ b/src/main/ui/static/templates/hf/gateway_payment.js @@ -29,7 +29,6 @@ select.bind("change", function () { }); var bankList = [ {label:'招商银行',value:'CMB'}, - {label:'中国工商银行',value:'ICBC'}, {label:'中国农业银行',value:'ABC'}, {label:'中国建设银行',value:'CCB'}, {label:'中国银行',value:'BOC'}, @@ -46,11 +45,8 @@ var bankList = [ {label:'北京农商银行',value:'BJRCB'}, {label:'南京银行',value:'NJCB'}, {label:'中国光大银行',value:'CEB'}, - {label:'浙商银行',value:'CZB'}, - {label:'兴业银行',value:'CIB'}, - {label:'杭州银行',value:'HZB'}, {label:'平安银行',value:'PAB'}, - {label:'上海银行',value:'SHB'}, + {label:'上海银行',value:'SHB'} ]; var productList = [ {label:'护肤品',value:'100003'}, @@ -97,6 +93,23 @@ var productList = [ {label:'进口食品',value:'100044'}, {label:'休闲食品',value:'100045'}, {label:'营养品',value:'100046'}, - {label:'地方特产',value:'100047'} + {label:'地方特产',value:'100047'}, + {label:'游戏点卡',value:'200003'}, + {label:'游戏周边',value:'200004'}, + {label:'网页游戏',value:'200005'}, + {label:'手机游戏',value:'200006'}, + {label:'电脑杀毒软件',value:'200007'}, + {label:'电脑安装软件',value:'200008'}, + {label:'虚拟服务租赁',value:'200009'}, + {label:'物理服务器租赁',value:'200010'}, + {label:'国际线路租赁',value:'200011'}, + {label:'域名',value:'200012'}, + {label:'网页设计',value:'200013'}, + {label:'软件设计',value:'200014'}, + {label:'留学学费',value:'300003'}, + {label:'出国夏令营费用',value:'300004'}, + {label:'机票',value:'400003'}, + {label:'酒店',value:'400004'}, + {label:'当地旅游费用',value:'400005'} ]; diff --git a/src/main/ui/static/templates/hf/img/ali_pay.png b/src/main/ui/static/templates/hf/img/ali_pay.png new file mode 100644 index 000000000..45ddf74c0 Binary files /dev/null and b/src/main/ui/static/templates/hf/img/ali_pay.png differ diff --git a/src/main/ui/static/templates/hf/img/union_pay.png b/src/main/ui/static/templates/hf/img/union_pay.png new file mode 100644 index 000000000..ed4160c72 Binary files /dev/null and b/src/main/ui/static/templates/hf/img/union_pay.png differ diff --git a/src/main/ui/static/templates/hf/img/wechat_pay.png b/src/main/ui/static/templates/hf/img/wechat_pay.png new file mode 100644 index 000000000..d791d29a0 Binary files /dev/null and b/src/main/ui/static/templates/hf/img/wechat_pay.png differ diff --git a/src/main/ui/static/templates/payment/success.css b/src/main/ui/static/templates/payment/success.css index 48a74b1e4..744da134f 100644 --- a/src/main/ui/static/templates/payment/success.css +++ b/src/main/ui/static/templates/payment/success.css @@ -6,6 +6,9 @@ .pagehead.Alipay{ background-color: #108ee9; } +.pagehead.AlipayOnline{ + background-color: #108ee9; +} .pagehead img { width: 40px; height: 40px;