From cec7be1bfa1fd7cc32089a5724b30b1fde90e4e4 Mon Sep 17 00:00:00 2001 From: "eason.qian" Date: Mon, 9 Apr 2018 15:33:21 +0800 Subject: [PATCH 1/9] =?UTF-8?q?fix=20=E5=95=86=E6=88=B7=E5=AF=BC=E5=87=BAt?= =?UTF-8?q?ransaction=20pdf=20report=20=E5=8E=BB=E9=99=A4royalpay=20fee?= =?UTF-8?q?=E5=8F=8A=E7=9B=B8=E5=85=B3=E6=B8=A0=E9=81=93=E6=89=8B=E7=BB=AD?= =?UTF-8?q?=E8=B4=B9=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jasper/partner_invoice_gst.jasper | Bin 84473 -> 80163 bytes .../jasper/partner_invoice_gst20180409.jasper | Bin 0 -> 84473 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/jasper/partner_invoice_gst20180409.jasper diff --git a/src/main/resources/jasper/partner_invoice_gst.jasper b/src/main/resources/jasper/partner_invoice_gst.jasper index 95cd7257eb37afabd0851a438a3bc5a6457ba50b..9c01d8c81de50984d1a7c48605a33fa76fc37c03 100644 GIT binary patch delta 4289 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 diff --git a/src/main/resources/jasper/partner_invoice_gst20180409.jasper b/src/main/resources/jasper/partner_invoice_gst20180409.jasper new file mode 100644 index 0000000000000000000000000000000000000000..95cd7257eb37afabd0851a438a3bc5a6457ba50b GIT binary patch literal 84473 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 literal 0 HcmV?d00001 From 3fff080c2313d114b531178f02be26c090d446ce Mon Sep 17 00:00:00 2001 From: yuan <1551130722@qq.com> Date: Tue, 10 Apr 2018 11:22:55 +0800 Subject: [PATCH 2/9] fix bug --- src/main/ui/static/payment/partner/partner-manage.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/ui/static/payment/partner/partner-manage.js b/src/main/ui/static/payment/partner/partner-manage.js index 8ea63b82d..4474a573b 100644 --- a/src/main/ui/static/payment/partner/partner-manage.js +++ b/src/main/ui/static/payment/partner/partner-manage.js @@ -784,6 +784,10 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter if (!$scope.partner) { return; } + if(!$state.is('partners.detail')){ + $scope.init.wechat_compliance = false; + return; + } if (!$scope.init.wechat_compliance) { $scope.init.wechat_compliance = true; return; @@ -802,6 +806,10 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter if (!$scope.partner) { return; } + if(!$state.is('partners.detail')){ + $scope.init.local_merchant = false; + return; + } if (!$scope.init.local_merchant) { $scope.init.local_merchant = true; return; From f4ff5aa2b29d36b27cdebd42cbc40fc26bab40e0 Mon Sep 17 00:00:00 2001 From: "eason.qian" Date: Tue, 10 Apr 2018 13:56:36 +0800 Subject: [PATCH 3/9] fix --- .../manage/analysis/web/PartnerCardDashboardController.java | 4 ++-- .../management/clearing/core/impl/CleanServiceImpl.java | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/analysis/web/PartnerCardDashboardController.java b/src/main/java/au/com/royalpay/payment/manage/analysis/web/PartnerCardDashboardController.java index 49a9136a4..3b51b69b3 100644 --- a/src/main/java/au/com/royalpay/payment/manage/analysis/web/PartnerCardDashboardController.java +++ b/src/main/java/au/com/royalpay/payment/manage/analysis/web/PartnerCardDashboardController.java @@ -74,8 +74,8 @@ public class PartnerCardDashboardController { } @RequestMapping("/{client_id}/settlement_logs/{detailId}") - public JSONObject listClearingTransactions(@PathVariable int client_id, @PathVariable String detailId) { - return cleanService.getCleanLogTransactions(client_id, detailId); + public JSONObject listClearingTransactions(@PathVariable int client_id, @PathVariable int detailId,@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + return cleanService.getCleanLogTransactions(detailId, 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 4e3b844c1..8237ba8bf 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 @@ -257,6 +257,7 @@ public class CleanServiceImpl implements CleanService, ManagerTodoNoticeProvider channelsObj.put(channel.getString("channel"), channel); } cleanLog.put("channels", channelsObj); + cleanLog.put("client_moniker", client.getString("client_moniker")); return cleanLog; } From ffa553ca06fd4c96f813c33a03f0c8957aecf7a6 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 10 Apr 2018 14:06:14 +0800 Subject: [PATCH 4/9] update --- .../manage/mappers/payment/TaskManualSettleMapper.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TaskManualSettleMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TaskManualSettleMapper.xml index 256b35234..d3411134c 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TaskManualSettleMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TaskManualSettleMapper.xml @@ -3,11 +3,11 @@ \ No newline at end of file From 24fab32043bb333e31fddc63d6c4bce799894d42 Mon Sep 17 00:00:00 2001 From: "eason.qian" Date: Tue, 10 Apr 2018 17:07:17 +0800 Subject: [PATCH 5/9] fix total_surcharge add tax_amount --- .../payment/manage/tradelog/core/impls/TradeLogServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java index 18b0afe68..2b6ac5ab0 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java @@ -515,7 +515,7 @@ public class TradeLogServiceImpl implements TradeLogService { .reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); analysis.put("total_surcharge", logs.parallelStream() .filter(log -> log.getBigDecimal("settle_amount") != null) - .map(log -> getSymbol(log).multiply(log.getBigDecimal("total_surcharge"))) + .map(log -> getSymbol(log).multiply(log.getBigDecimal("total_surcharge").add(log.getBigDecimal("tax_amount")))) .reduce(BigDecimal::add).orElse(BigDecimal.ZERO)); analysis.put("wechat_fee", logs.parallelStream() .filter(log -> log.getBigDecimal("settle_amount") != null) From c687dc2ebe4fb38c1e7a41298ad1c5267f67c8fa Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 10 Apr 2018 17:56:05 +0800 Subject: [PATCH 6/9] update --- .../core/impls/TradeLogServiceImpl.java | 35 ++++++++++++++++--- .../mappers/payment/TransactionMapper.xml | 7 +++- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java index 18b0afe68..3440327ae 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java @@ -12,7 +12,11 @@ import au.com.royalpay.payment.core.exceptions.ParamInvalidException; import au.com.royalpay.payment.manage.mappers.client.ClientCustomersMapper; 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.payment.*; +import au.com.royalpay.payment.manage.mappers.payment.AustracDataMapper; +import au.com.royalpay.payment.manage.mappers.payment.OrderMapper; +import au.com.royalpay.payment.manage.mappers.payment.RefundAuditionMapper; +import au.com.royalpay.payment.manage.mappers.payment.RefundMapper; +import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper; import au.com.royalpay.payment.manage.mappers.system.CustomerMapper; import au.com.royalpay.payment.manage.mappers.system.CustomerRelationAlipayMapper; @@ -28,11 +32,13 @@ import au.com.royalpay.payment.tools.permission.enums.PartnerRole; import au.com.royalpay.payment.tools.utils.CurrencyAmountUtils; import au.com.royalpay.payment.tools.utils.PageListUtils; import au.com.royalpay.payment.tools.utils.TimeZoneUtils; + 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 com.github.miemiedev.mybatis.paginator.domain.Paginator; + import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; @@ -40,13 +46,24 @@ import net.sf.jasperreports.engine.JasperRunManager; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; import net.sf.jasperreports.engine.export.JRXlsExporter; import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter; -import net.sf.jasperreports.export.*; +import net.sf.jasperreports.export.ExporterInput; +import net.sf.jasperreports.export.OutputStreamExporterOutput; +import net.sf.jasperreports.export.SimpleExporterInput; +import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput; +import net.sf.jasperreports.export.SimpleXlsxReportConfiguration; + import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.commons.lang3.time.DateUtils; -import org.apache.poi.hssf.usermodel.*; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFCellStyle; +import org.apache.poi.hssf.usermodel.HSSFFont; +import org.apache.poi.hssf.usermodel.HSSFRichTextString; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.HSSFColor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,8 +71,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.ui.Model; -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; @@ -72,6 +87,9 @@ 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; @@ -448,6 +466,13 @@ public class TradeLogServiceImpl implements TradeLogService { clientManager.validateClients(client_id, params); params.put("client_id", client_id); List logs = transactionMapper.listTransFlow(params); + logs.stream().forEach(p->{ + String login_id = p.getString("login_id"); + if(StringUtils.isNotEmpty(login_id)) { + + p.put("order_detail", StringUtils.isEmpty(p.getString("order_detail"))?"":p.getString("order_detail") +"(alipay_id:"+login_id+")"); + } + }); TimeZoneUtils.switchTimeZoneToString(logs, timezone, "dd/MM/yyyy HH:mm:ss", Arrays.asList("transaction_time")); final JSONObject analysis = analysisTransLogs(logs); diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml index a2d1d9285..8da9b1616 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml @@ -52,9 +52,14 @@ WHEN 1 THEN 'Cleared' WHEN 2 THEN 'Preauthorised' END) clear_status, - o.order_detail,o.display_amount,o.channel,o.currency,o.pre_authorization + o.order_detail,o.display_amount,o.channel,o.currency,o.pre_authorization, + CASE o.channel + WHEN 'Alipay' THEN ra.login_id + WHEN 'AlipayOnline' THEN ra.login_email + END login_id FROM pmt_transactions t LEFT JOIN pmt_orders o ON o.order_id=t.order_id + left join sys_customer_relation_alipay ra on ra.alipay_uid = o.customer_id AND t.client_id IN From 88308a3ee959c698ea6ac790e7d1f5abc385c49b Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 10 Apr 2018 18:08:03 +0800 Subject: [PATCH 7/9] update --- src/document/cn/apis.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/document/cn/apis.js b/src/document/cn/apis.js index 1937ecd41..e22f950a1 100644 --- a/src/document/cn/apis.js +++ b/src/document/cn/apis.js @@ -345,6 +345,7 @@ * @apiSuccess {String} create_time 订单创建时间(最新订单为准)(yyyy-MM-dd HH:mm:ss,GMT+10) * @apiSuccess {String} currency 币种,通常为AUD * @apiSuccess {String} channel 支付渠道 Alipay|支付宝、Wechat|微信、Bestpay|翼支付 + * @apiSuccess {Json} customer_info 仅支付宝返回该参数,其他渠道为空对象 * * @apiUse GlobalError * @apiError (ERROR_CODE) ORDER_NOT_EXIST 订单不存在 From 53d001a965363260868576e9b2bac8cc76a19ebd Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 10 Apr 2018 18:43:27 +0800 Subject: [PATCH 8/9] update --- src/document/cn/apis.js | 7 ++++++- .../payment/manage/mappers/payment/TransactionMapper.xml | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/document/cn/apis.js b/src/document/cn/apis.js index e22f950a1..75071a8f7 100644 --- a/src/document/cn/apis.js +++ b/src/document/cn/apis.js @@ -345,7 +345,12 @@ * @apiSuccess {String} create_time 订单创建时间(最新订单为准)(yyyy-MM-dd HH:mm:ss,GMT+10) * @apiSuccess {String} currency 币种,通常为AUD * @apiSuccess {String} channel 支付渠道 Alipay|支付宝、Wechat|微信、Bestpay|翼支付 - * @apiSuccess {Json} customer_info 仅支付宝返回该参数,其他渠道为空对象 + * @apiSuccess {Json} customer_info + *
    + *
  • alipay_user_id:用户id
  • + *
  • alipay_account:用户账号
  • + *
+ * 仅支付宝返回该参数,其他渠道为空对象 * * @apiUse GlobalError * @apiError (ERROR_CODE) ORDER_NOT_EXIST 订单不存在 diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml index a6a230c28..b672d6c17 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/TransactionMapper.xml @@ -498,7 +498,7 @@ FROM pmt_transactions t INNER JOIN pmt_orders o ON o.order_id = t.order_id INNER JOIN sys_clients c ON c.client_id = o.client_id AND c.org_id = 1 - WHERE year(o.create_time) = #{year} AND month(o.create_time) = #{month} AND + WHERE year(o.create_time) = #{year} AND month(o.create_time) = #{month} AND( t.transaction_type = 'Credit' OR t.refund_id IS NOT NULL From 2228a0cc456c1b584f92fd09cf32529d80491498 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Wed, 11 Apr 2018 10:44:29 +0800 Subject: [PATCH 9/9] bug fix --- .../manage/appclient/core/impls/RetailAppServiceImp.java | 8 ++++---- .../apps/core/impls/CustomerImpressionServiceImpl.java | 6 +++--- .../manage/bill/core/impl/BillOrderServiceImpl.java | 6 +++--- ...pper.java => ManagerCustomerRelationAlipayMapper.java} | 2 +- .../manage/tradelog/core/impls/TradeLogServiceImpl.java | 8 ++++---- src/main/ui/static/sys/templates/manual_settle.html | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) rename src/main/java/au/com/royalpay/payment/manage/mappers/system/{CustomerRelationAlipayMapper.java => ManagerCustomerRelationAlipayMapper.java} (92%) 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 cb718e7e6..49df6eff6 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 @@ -20,7 +20,7 @@ import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper; import au.com.royalpay.payment.manage.mappers.system.ClientDeviceTokenMapper; import au.com.royalpay.payment.manage.mappers.system.ClientSettleDelayConfMapper; import au.com.royalpay.payment.manage.mappers.system.CustomerMapper; -import au.com.royalpay.payment.manage.mappers.system.CustomerRelationAlipayMapper; +import au.com.royalpay.payment.manage.mappers.system.ManagerCustomerRelationAlipayMapper; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.notice.beans.NoticeInfo; import au.com.royalpay.payment.manage.notice.core.NoticeManage; @@ -129,7 +129,7 @@ public class RetailAppServiceImp implements RetailAppService { @Resource private DeviceSupport deviceSupport; @Resource - private CustomerRelationAlipayMapper customerRelationAlipayMapper; + private ManagerCustomerRelationAlipayMapper managerCustomerRelationAlipayMapper; @Resource private CustomerMapper customerMapper; @Resource @@ -444,7 +444,7 @@ public class RetailAppServiceImp implements RetailAppService { } switch (order.getString("channel")) { case "Alipay": - JSONObject alipayUser = customerRelationAlipayMapper.findCustomerByUserId(customer_id); + JSONObject alipayUser = managerCustomerRelationAlipayMapper.findCustomerByUserId(customer_id); if (alipayUser != null) { order.put("nickname", alipayUser.getString("nickname")); order.put("headimg", alipayUser.getString("headimg")); @@ -526,7 +526,7 @@ public class RetailAppServiceImp implements RetailAppService { } switch (order.getString("channel")) { case "Alipay": - JSONObject alipayUser = customerRelationAlipayMapper.findCustomerByUserId(customer_id); + JSONObject alipayUser = managerCustomerRelationAlipayMapper.findCustomerByUserId(customer_id); order.put("nickname", alipayUser.getString("nickname")); order.put("headimg", alipayUser.getString("headimg")); break; diff --git a/src/main/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionServiceImpl.java index 897ee17a5..724959373 100644 --- a/src/main/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionServiceImpl.java @@ -5,7 +5,7 @@ import au.com.royalpay.payment.manage.apps.core.CustomerImpressionService; import au.com.royalpay.payment.manage.mappers.client.ClientCustomersMapper; import au.com.royalpay.payment.manage.mappers.payment.OrderMapper; import au.com.royalpay.payment.manage.mappers.system.CustomerMapper; -import au.com.royalpay.payment.manage.mappers.system.CustomerRelationAlipayMapper; +import au.com.royalpay.payment.manage.mappers.system.ManagerCustomerRelationAlipayMapper; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.NotFoundException; import au.com.royalpay.payment.tools.lock.Locker; @@ -46,7 +46,7 @@ public class CustomerImpressionServiceImpl implements CustomerImpressionService @Resource private LookupService lookupService; @Resource - private CustomerRelationAlipayMapper customerRelationAlipayMapper; + private ManagerCustomerRelationAlipayMapper managerCustomerRelationAlipayMapper; @Resource private CustomerMapper customerMapper; @Resource @@ -146,7 +146,7 @@ public class CustomerImpressionServiceImpl implements CustomerImpressionService String customer_id = order.getString("customer_id"); JSONObject userInfo = customerMapper.findCustomerByOpenId(customer_id); if (userInfo == null) { - userInfo = customerRelationAlipayMapper.findCustomerByUserId(customer_id); + userInfo = managerCustomerRelationAlipayMapper.findCustomerByUserId(customer_id); } locker.lock(CUSTOMER_IMPRESSION_PREFIX + customer_id, 30_000, 30_000); try { diff --git a/src/main/java/au/com/royalpay/payment/manage/bill/core/impl/BillOrderServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/bill/core/impl/BillOrderServiceImpl.java index 9e02222bc..5b1e79fc8 100644 --- a/src/main/java/au/com/royalpay/payment/manage/bill/core/impl/BillOrderServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/bill/core/impl/BillOrderServiceImpl.java @@ -14,7 +14,7 @@ import au.com.royalpay.payment.manage.bill.bean.QueryBillOrderBean; import au.com.royalpay.payment.manage.bill.core.BillOrderService; import au.com.royalpay.payment.manage.mappers.bill.BillMapper; import au.com.royalpay.payment.manage.mappers.bill.BillOrderMapper; -import au.com.royalpay.payment.manage.mappers.system.CustomerRelationAlipayMapper; +import au.com.royalpay.payment.manage.mappers.system.ManagerCustomerRelationAlipayMapper; import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.utils.PageListUtils; @@ -28,7 +28,7 @@ public class BillOrderServiceImpl implements BillOrderService { @Resource private BillMapper billMapper; @Resource - private CustomerRelationAlipayMapper customerRelationAlipayMapper; + private ManagerCustomerRelationAlipayMapper managerCustomerRelationAlipayMapper; @Override public List getByBillId(String bill_id, int client_id) { @@ -39,7 +39,7 @@ public class BillOrderServiceImpl implements BillOrderService { List wechatBillOrders = billOrderMapper.findByBillIdWithWechatInfo(bill_id); for (JSONObject order : wechatBillOrders) { if ("Alipay".equals(order.getString("channel"))) { - JSONObject alipayInfo = customerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id")); + JSONObject alipayInfo = managerCustomerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id")); if (alipayInfo != null) { order.put("nickname", alipayInfo.getString("nickname")); order.put("headimg", alipayInfo.getString("headimg")); diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/CustomerRelationAlipayMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ManagerCustomerRelationAlipayMapper.java similarity index 92% rename from src/main/java/au/com/royalpay/payment/manage/mappers/system/CustomerRelationAlipayMapper.java rename to src/main/java/au/com/royalpay/payment/manage/mappers/system/ManagerCustomerRelationAlipayMapper.java index 5ab27c3d0..aedc27d49 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/CustomerRelationAlipayMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ManagerCustomerRelationAlipayMapper.java @@ -10,7 +10,7 @@ import org.apache.ibatis.annotations.Param; * Created by wangning on 2017/9/19. */ @AutoMapper(tablename = "sys_customer_relation_alipay", pkName = "relation_id") -public interface CustomerRelationAlipayMapper { +public interface ManagerCustomerRelationAlipayMapper { @AutoSql(type = SqlType.INSERT) void save(JSONObject customer); diff --git a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java index 4720dcce0..3862de24a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/tradelog/core/impls/TradeLogServiceImpl.java @@ -19,7 +19,7 @@ import au.com.royalpay.payment.manage.mappers.payment.RefundMapper; import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper; import au.com.royalpay.payment.manage.mappers.system.CustomerMapper; -import au.com.royalpay.payment.manage.mappers.system.CustomerRelationAlipayMapper; +import au.com.royalpay.payment.manage.mappers.system.ManagerCustomerRelationAlipayMapper; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.organizations.core.OrgManager; import au.com.royalpay.payment.manage.tradelog.beans.PreRefundQueryBean; @@ -126,7 +126,7 @@ public class TradeLogServiceImpl implements TradeLogService { @Resource private CustomerMapper customerMapper; @Resource - private CustomerRelationAlipayMapper customerRelationAlipayMapper; + private ManagerCustomerRelationAlipayMapper managerCustomerRelationAlipayMapper; @Resource private ClientCustomersMapper clientCustomersMapper; @@ -316,7 +316,7 @@ public class TradeLogServiceImpl implements TradeLogService { order.put("nickname", customer.getString("nickname")); } - JSONObject customerAlipay = customerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id")); + JSONObject customerAlipay = managerCustomerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id")); if (customerAlipay != null) { order.put("headimg", customerAlipay.getString("headimg")); order.put("nickname", customerAlipay.getString("nickname")); @@ -389,7 +389,7 @@ public class TradeLogServiceImpl implements TradeLogService { order.put("nickname", customer.getString("nickname")); } - JSONObject customerAlipay = customerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id")); + JSONObject customerAlipay = managerCustomerRelationAlipayMapper.findCustomerByUserId(order.getString("customer_id")); if (customerAlipay != null) { order.put("headimg", customerAlipay.getString("headimg")); order.put("nickname", customerAlipay.getString("nickname")); diff --git a/src/main/ui/static/sys/templates/manual_settle.html b/src/main/ui/static/sys/templates/manual_settle.html index 5c81dad2c..dc67edcb0 100644 --- a/src/main/ui/static/sys/templates/manual_settle.html +++ b/src/main/ui/static/sys/templates/manual_settle.html @@ -26,7 +26,7 @@ - +