From 687739f06a134ae47cd7f62103edc373f277e876 Mon Sep 17 00:00:00 2001 From: "taylor.dang" Date: Wed, 8 May 2019 02:00:29 +0800 Subject: [PATCH] =?UTF-8?q?[Y]=20=E6=89=8B=E7=BB=AD=E8=B4=B9=E6=94=B6?= =?UTF-8?q?=E6=94=AF=E5=88=86=E7=A6=BB=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ClearingDistributedSurchargeMapper.java | 5 +- .../manage/merchants/core/ClientManager.java | 16 +-- .../core/impls/ClientManagerImpl.java | 27 +--- .../web/PartnerManageController.java | 28 ++-- .../merchants/web/PartnerViewController.java | 23 +--- .../core/SurchargeAccountService.java | 3 +- .../impl/SurchargeAccountServiceImpl.java | 35 ++--- .../web/SurchargeAccountController.java | 11 +- .../core/impls/TradeLogServiceImpl.java | 2 +- .../ClearingDistributedSurchargeMapper.xml | 64 ++++----- .../FinancialSurchargeAccountDetailMapper.xml | 50 ++++--- src/main/ui/manage.html | 2 +- .../static/payment/partner/partner-manage.js | 2 +- .../partner-surcharge-account.js | 54 ++------ .../templates/account_month_logs.html | 41 +++--- .../templates/client_surcharge_account.html | 122 ++---------------- .../client_surcharge_account_dialog.html | 55 ++++---- .../partner_surcharge_account_dialog.html | 120 +++++++---------- ...artner_surcharge_account_month_dialog.html | 100 +++++++------- 19 files changed, 262 insertions(+), 498 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java index d2d83d1a4..e04890a4a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.java @@ -16,12 +16,15 @@ public interface ClearingDistributedSurchargeMapper { List findTransactions(@Param("client_id") int clientId); + @AutoSql(type = SqlType.UPDATE) + void update(JSONObject transaction); + @AutoSql(type = SqlType.INSERT) void save(JSONObject transactions); List getMonthDetailByClientId(@Param("datefrom") Date datefrom, @Param("dateto") Date dateto); - List findTransactionsByDate(JSONObject params); + List findSurchargeTransactionsByDetailId(@Param("client_id") int clientId, @Param("detailId") String detailId); List listUnClearedByMonth(@Param("dateto") DateTime dateTo); } diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java index 65866e4cc..cc38e6213 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/ClientManager.java @@ -3,33 +3,23 @@ package au.com.royalpay.payment.manage.merchants.core; import au.com.royalpay.payment.core.exceptions.EmailException; import au.com.royalpay.payment.manage.appclient.beans.AppClientBean; import au.com.royalpay.payment.manage.appclient.beans.AppMerchantBean; -import au.com.royalpay.payment.manage.merchants.beans.BankAccountInfo; -import au.com.royalpay.payment.manage.merchants.beans.ClientAuthFilesInfo; -import au.com.royalpay.payment.manage.merchants.beans.ClientRateConfig; -import au.com.royalpay.payment.manage.merchants.beans.ClientRegisterInfo; -import au.com.royalpay.payment.manage.merchants.beans.NewAccountBean; -import au.com.royalpay.payment.manage.merchants.beans.PartnerQuery; -import au.com.royalpay.payment.manage.merchants.beans.SubMerchantIdApply; +import au.com.royalpay.payment.manage.merchants.beans.*; import au.com.royalpay.payment.manage.tradelog.beans.TradeLogQuery; import au.com.royalpay.payment.tools.merchants.beans.QRCodeConfig; import au.com.royalpay.payment.tools.merchants.beans.UpdateSurchargeDTO; - import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; - -import org.apache.ibatis.annotations.Param; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; +import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; import java.math.BigDecimal; import java.util.Date; import java.util.List; -import javax.servlet.http.HttpServletResponse; - /** * Created by yixian on 2016-06-25. */ @@ -287,7 +277,7 @@ public interface ClientManager { List getAccountDetailByMonths(JSONObject account,String clientMoniker); - List getAccountTransactionsByDate(JSONObject account,String clientMoniker, String date); + List getAccountTransactionsByDetailId(JSONObject account,String clientMoniker, String detailId); List getAccountMonthDetails(JSONObject account,String clientMoniker); 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 5ba88db47..d87f8e529 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 @@ -3495,24 +3495,12 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid } @Override - public List getAccountTransactionsByDate(JSONObject account, String clientMoniker, String date) { + public List getAccountTransactionsByDetailId(JSONObject account, String clientMoniker, String detailId) { JSONObject client = getClientInfoByMoniker(clientMoniker); if (client == null) { throw new InvalidShortIdException(); } - JSONObject params = new JSONObject(); - params.put("client_id", client.getIntValue("client_id")); - params.put("year", date.substring(0, 4)); - params.put("month", date.substring(date.length() - 2, date.length())); - - List transactions = clearingDistributedSurchargeMapper.findTransactionsByDate(params); - transactions.forEach(e -> { - if ("Credit".equals(e.getString("type"))) { - JSONObject manager = managerMapper.findDetail(e.getString("operation")); - e.put("operator_displayname", manager.getString("display_name")); - } - }); - return transactions; + return clearingDistributedSurchargeMapper.findSurchargeTransactionsByDetailId(client.getIntValue("client_id"),detailId); } @Override @@ -3521,8 +3509,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid if (client == null) { throw new InvalidShortIdException(); } - List details = financialSurchargeAccountDetailMapper.findDetailsByClientId(client.getIntValue("client_id")); - return details; + return financialSurchargeAccountDetailMapper.findDetailsByClientId(client.getIntValue("client_id")); } @Override @@ -3540,19 +3527,19 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid throw new ServerErrorException("Processing task, wait for a moment"); } try { - JSONObject surcharge_account = clientsSurchargeAccountsMapper.find(client.getIntValue("client_id")); + JSONObject surchargeAccount = clientsSurchargeAccountsMapper.find(client.getIntValue("client_id")); transaction.put("client_id", client.getIntValue("client_id")); transaction.put("type", "Credit"); transaction.put("total_surcharge", BigDecimal.ZERO); transaction.put("tax_amount", BigDecimal.ZERO); - transaction.put("post_balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); + transaction.put("post_balance", surchargeAccount.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); transaction.put("operation", account.getString("manager_id")); transaction.put("create_time", new Date()); clearingDistributedSurchargeMapper.save(transaction); - surcharge_account.put("balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); - clientsSurchargeAccountsMapper.update(surcharge_account); + surchargeAccount.put("balance", surchargeAccount.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); + clientsSurchargeAccountsMapper.update(surchargeAccount); } finally { locker.unlock(clientMoniker + "_surcharge_account_save"); diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java index 92f7ccc64..f454255fe 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerManageController.java @@ -1,13 +1,7 @@ package au.com.royalpay.payment.manage.merchants.web; import au.com.royalpay.payment.manage.dev.core.MerchantLocationService; -import au.com.royalpay.payment.manage.merchants.beans.BankAccountInfo; -import au.com.royalpay.payment.manage.merchants.beans.ClientAuthFilesInfo; -import au.com.royalpay.payment.manage.merchants.beans.ClientRateConfig; -import au.com.royalpay.payment.manage.merchants.beans.ClientRegisterInfo; -import au.com.royalpay.payment.manage.merchants.beans.NewAccountBean; -import au.com.royalpay.payment.manage.merchants.beans.PartnerQuery; -import au.com.royalpay.payment.manage.merchants.beans.SubMerchantIdApply; +import au.com.royalpay.payment.manage.merchants.beans.*; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; import au.com.royalpay.payment.manage.permission.manager.RequireManager; @@ -19,21 +13,14 @@ import au.com.royalpay.payment.tools.merchants.beans.QRCodeConfig; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import com.alibaba.fastjson.JSONObject; import org.springframework.validation.Errors; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.io.IOException; -import java.io.OutputStream; -import java.util.List; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; +import java.io.OutputStream; +import java.util.List; /** * Created by yixian on 2016-06-27. @@ -415,9 +402,10 @@ public class PartnerManageController { public List accountTransactions(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String clientMoniker) { return clientManager.getAccountTransactions(manager, clientMoniker); } + @ManagerMapping(value = "/{clientMoniker}/account/transactions/date", method = RequestMethod.GET, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) - public List accountTransactionsByDate(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String clientMoniker,@RequestParam String date) { - return clientManager.getAccountTransactionsByDate(manager, clientMoniker, date); + public List accountTransactionsByDate(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String clientMoniker, @RequestParam String detailId) { + return clientManager.getAccountTransactionsByDetailId(manager, clientMoniker, detailId); } @ManagerMapping(value = "/{clientMoniker}/account/save", method = RequestMethod.POST, role = {ManagerRole.ADMIN, ManagerRole.OPERATOR}) diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java index 632458bc9..fec469d2f 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/web/PartnerViewController.java @@ -7,7 +7,6 @@ import au.com.royalpay.payment.manage.merchants.beans.ClientRegisterInfo; import au.com.royalpay.payment.manage.merchants.beans.NewAccountBean; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.merchants.core.ClientSignEventSupport; -import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; import au.com.royalpay.payment.manage.permission.manager.PartnerMapping; import au.com.royalpay.payment.manage.permission.manager.RequirePartner; import au.com.royalpay.payment.manage.support.wechatclients.KangaLandWechatApiImpl; @@ -21,31 +20,21 @@ import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; import au.com.royalpay.payment.tools.http.HttpUtils; import au.com.royalpay.payment.tools.merchants.beans.QRCodeConfig; -import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.tools.permission.enums.PartnerRole; import au.com.royalpay.payment.tools.permission.wechat.WechatMapping; - import com.alibaba.fastjson.JSONObject; - import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.Errors; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestMethod; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; - -import java.io.IOException; -import java.io.OutputStream; -import java.util.List; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; +import java.io.OutputStream; +import java.util.List; /** * view for partner client @@ -197,7 +186,7 @@ public class PartnerViewController { @PartnerMapping(value = "/{clientMoniker}/account/transactions/date", method = RequestMethod.GET, roles = {PartnerRole.ADMIN, PartnerRole.MANAGER}) @ResponseBody public List accountTransactionsByDate(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject manager, @PathVariable String clientMoniker,@RequestParam String date) { - return clientManager.getAccountTransactionsByDate(manager, clientMoniker, date); + return clientManager.getAccountTransactionsByDetailId(manager, clientMoniker, date); } @PartnerMapping(value = "/{clientMoniker}/account/months", method = RequestMethod.GET, roles = {PartnerRole.ADMIN, PartnerRole.MANAGER}) @@ -254,7 +243,7 @@ public class PartnerViewController { return "wechat_bind"; } - @RequestMapping(value = "/account_receive_notice", method = RequestMethod.PUT) + @PutMapping(value = "/account_receive_notice") @ResponseBody public JSONObject toggleReceiveNotice(@ModelAttribute(CommonConsts.WECHATINFO) JSONObject user, @RequestBody JSONObject enable) { if (user == null) { diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java index fb86eaf0a..a5250a2be 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/SurchargeAccountService.java @@ -2,7 +2,6 @@ package au.com.royalpay.payment.manage.surchargeAccount.core; import com.alibaba.fastjson.JSONObject; -import java.util.Date; import java.util.List; public interface SurchargeAccountService { @@ -11,6 +10,6 @@ public interface SurchargeAccountService { List listSettledDatesInMonth(String mon); - void fillMothsSurcharge(JSONObject manager, String detail_id); + void fillMothsSurcharge(JSONObject manager, String detailId); } diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java index aaf928784..ddd70edac 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/core/impl/SurchargeAccountServiceImpl.java @@ -11,8 +11,6 @@ import au.com.royalpay.payment.tools.exceptions.ServerErrorException; import au.com.royalpay.payment.tools.lock.Locker; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import com.alibaba.fastjson.JSONObject; -import org.apache.commons.lang3.time.DateFormatUtils; -import org.apache.commons.lang3.time.DateUtils; import org.joda.time.DateTime; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -21,7 +19,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; -import java.text.DateFormat; import java.util.Comparator; import java.util.Date; import java.util.List; @@ -39,12 +36,11 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService { private Locker locker; @Resource private ClientsSurchargeAccountsMapper clientsSurchargeAccountsMapper; - - Logger logger = LoggerFactory.getLogger(ClientContractServiceImpl.class); + private Logger logger = LoggerFactory.getLogger(ClientContractServiceImpl.class); @Override - @Transactional + @Transactional(rollbackFor = Exception.class) public void generatorMonthDetail() { DateTime dateTo = DateTime.now().withMillisOfDay(0).withDayOfMonth(1); logger.info("===============Start generator surcharge account month detail==============={}", new Date()); @@ -67,6 +63,7 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService { .reduce(BigDecimal::add).orElse(BigDecimal.ZERO); detail.put("credit_amount", creditAmount); detail.put("debit_amount", debitAmount); + detail.put("total_surcharge", creditAmount.add(debitAmount)); JSONObject lastTrans = surchargeTrans.stream().max(Comparator.comparing(trans -> trans.getDate("create_time"))) .orElse(null); BigDecimal postBalance; @@ -80,8 +77,13 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService { detail.put("send_mail", 0); detail.put("wx_send", 0); detail.put("create_time", new Date()); - detail.put("is_valid", 0); + detail.put("checkout", 0); financialSurchargeAccountDetailMapper.save(detail); + //更新手续费明细中的账单id + surchargeTrans.forEach(trans -> { + trans.put("bill_id", detail.getString("detail_id")); + clearingDistributedSurchargeMapper.update(trans); + }); } logger.info("===============generator OVER==============={}", new Date()); } @@ -92,35 +94,36 @@ public class SurchargeAccountServiceImpl implements SurchargeAccountService { } @Override - public void fillMothsSurcharge(JSONObject manager, String detail_id) { + public void fillMothsSurcharge(JSONObject manager, String detailId) { if (!(ManagerRole.ADMIN.hasRole(manager.getIntValue("role")) || ManagerRole.OPERATOR.hasRole(manager.getIntValue("role")) || ManagerRole.FINANCIAL_STAFF.hasRole(manager.getIntValue("role")))) { throw new ForbiddenException("无法执行平账操作,权限不足"); } - JSONObject detail = financialSurchargeAccountDetailMapper.findByDetailId(detail_id); - if (detail.getBooleanValue("is_valid")) { + JSONObject detail = financialSurchargeAccountDetailMapper.findByDetailId(detailId); + if (detail.getBooleanValue("checkout")) { throw new BadRequestException("该记录已结清"); } if (!locker.lock(detail.getIntValue("client_id") + "_" + detail.getString("settle_month") + "_fill", 120_000)) { throw new ServerErrorException("Processing task, wait for a moment"); } try { - JSONObject surcharge_account = clientsSurchargeAccountsMapper.find(detail.getIntValue("client_id")); + JSONObject surchargeAccount = clientsSurchargeAccountsMapper.find(detail.getIntValue("client_id")); JSONObject transaction = new JSONObject(); transaction.put("client_id", detail.getIntValue("client_id")); transaction.put("type", "Credit"); + transaction.put("bill_id", detailId); transaction.put("total_surcharge", BigDecimal.ZERO); transaction.put("tax_amount", BigDecimal.ZERO); transaction.put("amount", detail.getBigDecimal("debit_amount").negate()); - transaction.put("post_balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); + transaction.put("post_balance", surchargeAccount.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); transaction.put("operation", manager.getString("manager_id")); transaction.put("create_time", new Date()); transaction.put("remark", detail.getString("settle_month") + "冲正"); clearingDistributedSurchargeMapper.save(transaction); - surcharge_account.put("balance", surcharge_account.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); - clientsSurchargeAccountsMapper.update(surcharge_account); - detail.put("is_valid", 1); - detail.put("operator_id", manager.getString("manager_id")); + surchargeAccount.put("balance", surchargeAccount.getBigDecimal("balance").add(transaction.getBigDecimal("amount"))); + clientsSurchargeAccountsMapper.update(surchargeAccount); + detail.put("checkout", 1); + detail.put("operator_id", manager.getString("display_name")); financialSurchargeAccountDetailMapper.update(detail); } finally { locker.unlock(detail.getIntValue("client_id") + "_" + detail.getString("settle_month") + "_fill"); diff --git a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java index ca7729a21..bd021e8a6 100644 --- a/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java +++ b/src/main/java/au/com/royalpay/payment/manage/surchargeAccount/web/SurchargeAccountController.java @@ -3,16 +3,11 @@ package au.com.royalpay.payment.manage.surchargeAccount.web; import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; import au.com.royalpay.payment.manage.surchargeAccount.core.SurchargeAccountService; import au.com.royalpay.payment.tools.CommonConsts; -import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import com.alibaba.fastjson.JSONObject; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.text.DateFormat; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; import java.util.List; @RequestMapping("/sys/surcharge_account") @@ -27,8 +22,8 @@ public class SurchargeAccountController { return surchargeAccountService.listSettledDatesInMonth(month); } - @ManagerMapping(value = "/fill/{detail_id}", role = {ManagerRole.ADMIN, ManagerRole.OPERATOR, ManagerRole.FINANCIAL_STAFF}, method = RequestMethod.PUT) - public void fillMothsSurcharge(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String detail_id) { - surchargeAccountService.fillMothsSurcharge(manager, detail_id); + @ManagerMapping(value = "/fill/{detailId}", role = {ManagerRole.ADMIN, ManagerRole.OPERATOR, ManagerRole.FINANCIAL_STAFF}, method = RequestMethod.PUT) + public void fillMothsSurcharge(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager, @PathVariable String detailId) { + surchargeAccountService.fillMothsSurcharge(manager, detailId); } } 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 47d5641e8..b51ea893a 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 @@ -1183,7 +1183,7 @@ public class TradeLogServiceImpl implements TradeLogService { String preRefundDataStr = stringRedisTemplate.boundValueOps("payment:pre_refund_data").get(); if (StringUtils.isEmpty(preRefundDataStr)) { JSONObject preRefundData = PageListUtils.buildPageListResult(transactionMapper.listPreRefundClients(new PageBounds(params.getPage(), params.getLimit()))); - stringRedisTemplate.boundValueOps("payment:pre_refund_data").set(preRefundData.toJSONString(), 6, TimeUnit.HOURS); + stringRedisTemplate.boundValueOps("payment:pre_refund_data").set(preRefundData.toJSONString(), 1, TimeUnit.HOURS); return preRefundData; } else { return JSONObject.parseObject(preRefundDataStr); diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml index ee20d54d6..ac12252a2 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClearingDistributedSurchargeMapper.xml @@ -2,48 +2,40 @@ - + SELECT clearing_detail_id, settle_date,total_surcharge,tax_amount, type, amount,create_time,operation,remark + FROM log_clearing_distributed_surcharge + WHERE client_id = #{client_id} + AND bill_id = #{detailId} + ORDER BY create_time + DESC \ No newline at end of file diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.xml index 9c7522d7e..7576f7ee4 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/FinancialSurchargeAccountDetailMapper.xml @@ -2,37 +2,35 @@ \ No newline at end of file diff --git a/src/main/ui/manage.html b/src/main/ui/manage.html index b3493107f..226263b98 100644 --- a/src/main/ui/manage.html +++ b/src/main/ui/manage.html @@ -605,7 +605,7 @@ margin-bottom: 10%;"/>
  • - 授信退款|Credit refund/span> + 授信退款|Credit refund
  • diff --git a/src/main/ui/static/payment/partner/partner-manage.js b/src/main/ui/static/payment/partner/partner-manage.js index 7ef184b87..6cd87f5be 100644 --- a/src/main/ui/static/payment/partner/partner-manage.js +++ b/src/main/ui/static/payment/partner/partner-manage.js @@ -2307,7 +2307,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }); }; $scope.getBankInfo = function (bsb_no) { - if (bsb_no != null && bsb_no != "") { + if (bsb_no != null && bsb_no !== "") { $http.get('/sys/partners/' + $scope.partner.client_moniker + '/bank_account/bank_info/' + bsb_no).then(function (resp) { $scope.bankInfo = resp.data; $scope.bankaccount.bank = $scope.bankInfo.bank; diff --git a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js index e6acb095a..55924fadf 100644 --- a/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js +++ b/src/main/ui/static/payment/surchargeaccount/partner-surcharge-account.js @@ -3,7 +3,6 @@ */ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], function (angular) { 'use strict'; - var colors = ['#00c0ef', '#00a65a', '#ff851b', '#f39c12', '#d81b60', '#605ca8', '#dd4b39', '#008080', '#8B008B', '#D2691E', '#708090']; var app = angular.module('surchargeAccountApp', ['ui.bootstrap', 'ui.router', 'ngEcharts']); app.config(['$stateProvider', function ($stateProvider) { $stateProvider.state('surcharge_account', { @@ -25,22 +24,13 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func $scope.partner = angular.copy(partner.data); $scope.getBalance = function () { $scope.surcharge = {}; - if ($scope.partner.surcharge_mode != undefined && $scope.partner.surcharge_mode == "distributed") { + if ($scope.partner.surcharge_mode !== undefined && $scope.partner.surcharge_mode === "distributed") { $http.get('/client/partner_info/' + $scope.partner.client_moniker + '/surcharge_account').then(function (resp) { $scope.surcharge = resp.data; }) } }; - - $scope.getTransactions = function () { - $http.get('/client/partner_info/' + $scope.partner.client_moniker + '/account/transactions').then(function (resp) { - $scope.transactions = resp.data; - }) - } - $scope.getBalance(); - $scope.getTransactions(); - $scope.getDetailByMonths = function () { $http.get('/client/partner_info/' + $scope.partner.client_moniker + '/account/months').then(function (resp) { $scope.report = resp.data; @@ -93,20 +83,17 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func }; }) }; - $scope.surchargeAccountDetail = function (client_moniker,mon) { + $scope.surchargeAccountDetail = function (detail) { $uibModal.open({ templateUrl: '/static/payment/surchargeaccount/templates/partner_surcharge_account_month_dialog.html', controller: 'accountDetailCtrl', size: 'lg', resolve: { - client_moniker: function () { - return client_moniker; + detail: function(){ + return detail; }, - month: function () { - return mon; - }, - transactions: ['$http', function ($http) { - return $http.get('/sys/partners/' + client_moniker + '/account/transactions/date?date='+mon); + surchargeDetailData: ['$http', function ($http) { + return $http.get('/sys/partners/' + detail.client_moniker + '/account/transactions/date?detailId=' + detail.detail_id); }] } }).result.then(function () { @@ -115,9 +102,8 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func $scope.loadReport($scope.report.month); }); }; - $scope.fillMonthsSurcharge = function (details) { - var contentHtml = $sce.trustAsHtml('即将为[' + details.short_name + ']冲正,请确认商户信息'); - + $scope.fillMonthsSurcharge = function (detail) { + var contentHtml = $sce.trustAsHtml('请确认商户[' + detail.short_name + ']已线下付款,再执行此操作'); commonDialog.confirm({ title: '后付费账户冲正', content: '', @@ -125,7 +111,7 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func {label: 'Cancel', className: 'btn-danger', key: '2', dismiss: true}], contentHtml: contentHtml }).then(function () { - $http.put('/sys/surcharge_account/fill/' + details.detail_id).then(function () { + $http.put('/sys/surcharge_account/fill/' + detail.detail_id).then(function () { commonDialog.alert({title: 'Success', content: '冲正成功', type: 'success'}); $scope.loadReport($scope.report.month); }, function (resp) { @@ -136,26 +122,10 @@ define(['angular', 'decimal', 'uiBootstrap', 'uiRouter', 'angularEcharts'], func }; - }]); - app.controller('accountDetailCtrl', ['$scope','$http','transactions','client_moniker','commonDialog','month', function ($scope, $http, transactions,client_moniker,commonDialog,month) { - $scope.transactions = angular.copy(transactions.data); - $scope.params = {}; - $scope.month = angular.copy(month); - $scope.getBalance = function () { - $http.get('/sys/partners/' + client_moniker + '/surcharge_account').then(function (resp) { - $scope.surcharge = resp.data; - }) - }; - $scope.getBalance(); - - $scope.getTransactions = function () { - $http.get('/sys/partners/' + client_moniker + '/account/transactions/date?date=' + $scope.month).then(function (resp) { - $scope.transactions = resp.data; - }); - } + app.controller('accountDetailCtrl', ['$scope', '$http', 'detail', 'surchargeDetailData', function ($scope, $http, detail, surchargeDetailData) { + $scope.surchargeDetailData = angular.copy(surchargeDetailData.data); + $scope.month = angular.copy(detail.settle_month); }]); - - return app; }); \ No newline at end of file diff --git a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html index d1a6dec39..bcfd99ba3 100644 --- a/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html +++ b/src/main/ui/static/payment/surchargeaccount/templates/account_month_logs.html @@ -20,7 +20,7 @@
    -
    +

    @@ -37,41 +37,32 @@ - - - - - + + + - - + - - - - + + - - - - diff --git a/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html index 43e3e0e12..3fbfcae81 100644 --- a/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html +++ b/src/main/ui/static/payment/surchargeaccount/templates/client_surcharge_account.html @@ -1,110 +1,8 @@

    - Client Surcharge Account -

    - -
    -
    -
    -
    -
    -
    -
    -
    -
    - -
    -

    {{surcharge.balance|currency:'AUD'}}

    -
    -
    - - - - - - - - - - - - - - - - - - -
    -
    -
    -
    -
    -
    Credits
    -
    -
    -
    商户编号Short NameTotal Surcharge商户编码商户简称总手续费 是否结清 操作
    - + ui-sref="partners.detail({clientMoniker:detail.client_moniker})"> + - 已结清 - 未付款 + 已结清 + 未付款 - - - - - + +
    - - - - - - - - - - - - - - - - - - -
    NumCreate TimeAmountRemarkOperator
    {{$index+1}}
    -
    -
    -
    -
    -
    Debits
    -
    -
    - - - - - - - - - - - - - - - - - - - - - -
    NumSettle DateAmountTotal SurchargeTax AmountRemark
    {{$index+1}}
    -
    -
    -
    -
    - - - - -
    -

    - 每月手续费 + Monthly Surcharge + Merchant Surcharge ({{surcharge.balance|currency:'AUD'}})

    @@ -115,22 +13,20 @@ - + - - - + + - -
    清算月份Settle Month Total Surcharge支出总额是否结清操作Whether SettleDetail
    - 已结清 - 未付款 + Yes + No -

    Surcharge Account Detail{{partner.client_moniker?'('+partner.client_moniker+')':''}}

    +

    Surcharge Accountdddd Detail{{partner.client_moniker?'('+partner.client_moniker+')':''}}