From dfb700607f78db755cbe4f3d3e5b8cb0b4bccc74 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Fri, 15 Jun 2018 11:47:52 +0800 Subject: [PATCH 01/10] init unsub mail --- .../notice/core/impls/MailServiceImp.java | 3 +- .../impls/CustomerImpressionImplTest.java | 55 +++++++++++++++++++ 2 files changed, 56 insertions(+), 2 deletions(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java index 54d2f505e..cd436b203 100644 --- a/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java @@ -4,7 +4,6 @@ import au.com.royalpay.payment.manage.mappers.system.MailUnsubMapper; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.notice.beans.NoticeBean; import au.com.royalpay.payment.manage.notice.core.MailService; -import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.NotFoundException; import au.com.royalpay.payment.tools.exceptions.ServerErrorException; import au.com.royalpay.payment.tools.utils.PageListUtils; @@ -212,7 +211,7 @@ public class MailServiceImp implements MailService { } JSONObject existRecord = mailUnsubMapper.getOne(null,client.getString("contact_email")); if(existRecord!=null){ - throw new BadRequestException("address has been added"); + return; } JSONObject record= new JSONObject(); record.put("id", IdUtil.getId()); diff --git a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java index 1d4864e05..344ec333f 100644 --- a/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java +++ b/src/test/java/au/com/royalpay/payment/manage/apps/core/impls/CustomerImpressionImplTest.java @@ -5,6 +5,7 @@ import au.com.royalpay.payment.manage.mappers.system.ClientConfigMapper; import au.com.royalpay.payment.manage.mappers.system.ClientMapper; import au.com.royalpay.payment.manage.mappers.system.OrgMapper; import au.com.royalpay.payment.manage.merchants.core.ClientManager; +import au.com.royalpay.payment.manage.notice.core.MailService; import au.com.royalpay.payment.tools.mail.MailGunClient; import au.com.royalpay.payment.tools.mail.SendMail; @@ -13,6 +14,12 @@ import com.alibaba.fastjson.JSONObject; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.time.DateUtils; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.CellStyle; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; @@ -21,12 +28,15 @@ import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.web.bind.annotation.RequestMethod; +import java.io.File; +import java.io.FileInputStream; import java.io.IOException; import java.net.URISyntaxException; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Date; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Set; @@ -58,6 +68,8 @@ public class CustomerImpressionImplTest { @Resource private ClientManager clientManager; + @Resource + private MailService mailService; // @Test // public void redisQueue() { // BoundListOperations ops = stringRedisTemplate.boundListOps("customer_impression"); @@ -202,4 +214,47 @@ public class CustomerImpressionImplTest { System.out.println(asd); System.out.println(asd); } + + @Test + public void addMailUnsub() { + try { + XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(new File("/Users/wangning/Desktop/asd.xlsx"))); + XSSFSheet sheet = workbook.getSheetAt(0); + Iterator rowIterator = sheet.rowIterator(); + Row row = null; + Cell cell = null; + + while (rowIterator.hasNext()) { + row = rowIterator.next(); + cell = row.getCell(1); + if(cell==null){ + continue; + } + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + CellStyle cellStyle = cell.getCellStyle(); + if(cellStyle.getFillForegroundColor()==0){ + continue; + } + String clientMonikers = cell.getStringCellValue().trim(); + if(clientMonikers.contains("/")){ + String [] clientMonikerArr = clientMonikers.split("/"); + for (String s : clientMonikerArr) { + String tmp = s.trim().toUpperCase(); + if(tmp.length()>4 || tmp.length()==0){ + continue; + } + mailService.addUnsub(s.trim().toUpperCase()); + } + }else { + String tmp = clientMonikers.trim().toUpperCase(); + if(tmp.length()>4 || tmp.length()==0){ + continue; + } + mailService.addUnsub(clientMonikers.trim().toUpperCase()); + } + } + } catch (IOException e) { + e.printStackTrace(); + } + } } \ No newline at end of file From d639c584fb1b60599f565c0e227dc7f9008cdee6 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Fri, 15 Jun 2018 14:27:41 +0800 Subject: [PATCH 02/10] update --- .../web/ConfigOperationController.java | 29 ++++++++ src/main/ui/static/config/logview/logview.js | 20 ++++++ .../templates/config_opertaion_log.html | 69 +++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 src/main/java/au/com/royalpay/payment/manage/logview/web/ConfigOperationController.java create mode 100644 src/main/ui/static/config/logview/templates/config_opertaion_log.html diff --git a/src/main/java/au/com/royalpay/payment/manage/logview/web/ConfigOperationController.java b/src/main/java/au/com/royalpay/payment/manage/logview/web/ConfigOperationController.java new file mode 100644 index 000000000..32e839412 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/logview/web/ConfigOperationController.java @@ -0,0 +1,29 @@ +package au.com.royalpay.payment.manage.logview.web; + +import au.com.royalpay.payment.manage.logview.beans.WechatMsgQueryBean; +import au.com.royalpay.payment.manage.logview.core.WechatMsgRepository; +import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; +import au.com.royalpay.payment.tools.permission.enums.ManagerRole; + +import com.alibaba.fastjson.JSONObject; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * Created by Tayl0r on 2017/5/3. + */ +@RestController +@ManagerMapping(value = "/sys_logs/config/operation", method = RequestMethod.GET, role = ManagerRole.ADMIN) +public class ConfigOperationController { + @Resource + private WechatMsgRepository wechatMsgRepository; + + @RequestMapping + public JSONObject listWechatMsgs(WechatMsgQueryBean wechatMsgQueryBean){ + return wechatMsgRepository.listWechatMsgs(wechatMsgQueryBean); + } +} diff --git a/src/main/ui/static/config/logview/logview.js b/src/main/ui/static/config/logview/logview.js index 02677df18..023c24d8b 100644 --- a/src/main/ui/static/config/logview/logview.js +++ b/src/main/ui/static/config/logview/logview.js @@ -29,6 +29,10 @@ define(['angular', 'uiRouter'], function (angular) { url: '/wechatMsg', templateUrl: '/static/config/logview/templates/wechat_msg_log.html', controller: 'wechatMsgLogCtrl' + }).state('logview.config_operation', { + url: '/config_operation', + templateUrl: '/static/config/logview/templates/config_opertaion_log.html', + controller: 'configOperationLogCtrl' }) }]); app.controller('logviewRootCtrl', ['$scope', function ($scope) { @@ -110,5 +114,21 @@ define(['angular', 'uiRouter'], function (angular) { }; $scope.listWechatMsgs(); }]); + + app.controller('configOperationLogCtrl', ['$scope', '$http', '$filter', function ($scope, $http, $filter) { + $scope.pagination = {}; + $scope.params = {date: new Date()}; + $scope.listWechatMsgs = function (page) { + var params = angular.copy($scope.params) || {}; + params.page = page || $scope.pagination.page || 1; + params.date = $filter('date')(params.date, 'yyyyMMdd'); + $http.get('/sys_logs/wechat_msg', {params: params}).then(function (resp) { + $scope.wechatMsgs = resp.data.data; + $scope.pagination = resp.data.pagination; + }); + }; + $scope.listWechatMsgs(); + }]); + return app; }); \ No newline at end of file diff --git a/src/main/ui/static/config/logview/templates/config_opertaion_log.html b/src/main/ui/static/config/logview/templates/config_opertaion_log.html new file mode 100644 index 000000000..d50f52b00 --- /dev/null +++ b/src/main/ui/static/config/logview/templates/config_opertaion_log.html @@ -0,0 +1,69 @@ +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+
+
+ + + + + + + + + + + + + + + + + + + +
TimeClientUserIPMethod
+
+ +
\ No newline at end of file From 0d9612e587e98b41267de950e6e5fa9df2d95a1c Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Fri, 15 Jun 2018 15:21:21 +0800 Subject: [PATCH 03/10] add config operation log --- .../logview/core/OperationLogService.java | 20 ++++++ .../core/impl/OperationLogServiceImpl.java | 66 +++++++++++++++++++ .../web/ConfigOperationController.java | 19 +++--- .../analysis/mappers/BDAnalysisMapper.xml | 1 + src/main/ui/static/config/logview/logview.js | 10 +-- .../templates/config_opertaion_log.html | 46 +++++-------- .../static/config/logview/templates/root.html | 4 ++ 7 files changed, 122 insertions(+), 44 deletions(-) create mode 100644 src/main/java/au/com/royalpay/payment/manage/logview/core/OperationLogService.java create mode 100644 src/main/java/au/com/royalpay/payment/manage/logview/core/impl/OperationLogServiceImpl.java diff --git a/src/main/java/au/com/royalpay/payment/manage/logview/core/OperationLogService.java b/src/main/java/au/com/royalpay/payment/manage/logview/core/OperationLogService.java new file mode 100644 index 000000000..a8b60c127 --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/logview/core/OperationLogService.java @@ -0,0 +1,20 @@ +package au.com.royalpay.payment.manage.logview.core; + +import au.com.royalpay.payment.manage.merchants.beans.mongo.ClientConfigLog; + +import com.alibaba.fastjson.JSONObject; +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; + +import java.util.List; + +/** + * @author kira + * @date 2018/6/15 + */ +public interface OperationLogService { + + List query(JSONObject params); + + JSONObject query(JSONObject params, PageBounds pageBounds); + +} diff --git a/src/main/java/au/com/royalpay/payment/manage/logview/core/impl/OperationLogServiceImpl.java b/src/main/java/au/com/royalpay/payment/manage/logview/core/impl/OperationLogServiceImpl.java new file mode 100644 index 000000000..40bd74e2b --- /dev/null +++ b/src/main/java/au/com/royalpay/payment/manage/logview/core/impl/OperationLogServiceImpl.java @@ -0,0 +1,66 @@ +package au.com.royalpay.payment.manage.logview.core.impl; + +import au.com.royalpay.payment.manage.logview.core.OperationLogService; +import au.com.royalpay.payment.manage.merchants.beans.mongo.ClientConfigLog; +import au.com.royalpay.payment.manage.merchants.core.ClientManager; + +import com.alibaba.fastjson.JSONObject; +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; +import com.github.miemiedev.mybatis.paginator.domain.Paginator; + +import org.apache.commons.lang3.StringUtils; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Service; + +import java.util.List; + +import javax.annotation.Resource; + +/** + * @author kira + * @date 2018/6/15 + */ +@Service +public class OperationLogServiceImpl implements OperationLogService { + @Resource + private MongoTemplate mongoTemplate; + @Resource + private ClientManager clientManager; + + @Override + public JSONObject query(JSONObject params, PageBounds pageBounds) { + if (StringUtils.isNotEmpty(params.getString("client_moniker"))) { + JSONObject client = clientManager.getClientInfoByMoniker(params.getString("client_moniker")); + if(client!=null) { + params.put("client_id", client.getIntValue("client_id")); + } + } + Query query = new Query(); + if (params.getIntValue("client_id") != 0) { + query.addCriteria(Criteria.where("clientId").is(params.getIntValue("client_id"))); + } + List clientConfigLogList = mongoTemplate.find(query, ClientConfigLog.class); + return buildPageListResult(clientConfigLogList, + new Paginator(pageBounds.getPage(), pageBounds.getLimit(), (int) mongoTemplate.count(query, ClientConfigLog.class))); + + } + + @Override + public List query(JSONObject params) { + Query query = new Query(); + query.addCriteria(Criteria.where("clientId").is(params.getIntValue("client_id"))); + List clientConfigLogList = mongoTemplate.find(query, ClientConfigLog.class); + Paginator paginator = new Paginator(1, 1, 1); + + return null; + } + + public static JSONObject buildPageListResult(List datas, Paginator paginator) { + JSONObject res = new JSONObject(); + res.put("data", datas); + res.put("pagination", paginator); + return res; + } +} diff --git a/src/main/java/au/com/royalpay/payment/manage/logview/web/ConfigOperationController.java b/src/main/java/au/com/royalpay/payment/manage/logview/web/ConfigOperationController.java index 32e839412..3eea7c28d 100644 --- a/src/main/java/au/com/royalpay/payment/manage/logview/web/ConfigOperationController.java +++ b/src/main/java/au/com/royalpay/payment/manage/logview/web/ConfigOperationController.java @@ -1,14 +1,13 @@ package au.com.royalpay.payment.manage.logview.web; -import au.com.royalpay.payment.manage.logview.beans.WechatMsgQueryBean; -import au.com.royalpay.payment.manage.logview.core.WechatMsgRepository; -import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; -import au.com.royalpay.payment.tools.permission.enums.ManagerRole; +import au.com.royalpay.payment.manage.logview.core.OperationLogService; import com.alibaba.fastjson.JSONObject; +import com.github.miemiedev.mybatis.paginator.domain.PageBounds; 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 javax.annotation.Resource; @@ -17,13 +16,15 @@ import javax.annotation.Resource; * Created by Tayl0r on 2017/5/3. */ @RestController -@ManagerMapping(value = "/sys_logs/config/operation", method = RequestMethod.GET, role = ManagerRole.ADMIN) +@RequestMapping(value = "/sys_logs/config/operation") public class ConfigOperationController { @Resource - private WechatMsgRepository wechatMsgRepository; + private OperationLogService operationLogService; - @RequestMapping - public JSONObject listWechatMsgs(WechatMsgQueryBean wechatMsgQueryBean){ - return wechatMsgRepository.listWechatMsgs(wechatMsgQueryBean); + @RequestMapping(method = RequestMethod.GET) + public JSONObject list(@RequestParam(required = false) String client_moniker,@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "10") int limit){ + JSONObject params = new JSONObject(); + params.put("client_moniker",client_moniker); + return operationLogService.query(params,new PageBounds(page,limit)); } } diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml index f5f83a564..b95b87800 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml @@ -144,6 +144,7 @@ INNER JOIN sys_clients c ON c.client_id = b.client_id AND b.start_date <= c.approve_time AND (b.end_date > c.approve_time OR b.end_date IS NULL) WHERE c.approve_time >= #{begin} AND c.approve_time < #{end} AND c.is_valid = 1 AND c.approve_result = 1 + and b.is_valid=1 ]]> and c.org_id=#{org_id} and c.org_id in diff --git a/src/main/ui/static/config/logview/logview.js b/src/main/ui/static/config/logview/logview.js index 023c24d8b..cf5a1a0da 100644 --- a/src/main/ui/static/config/logview/logview.js +++ b/src/main/ui/static/config/logview/logview.js @@ -117,17 +117,17 @@ define(['angular', 'uiRouter'], function (angular) { app.controller('configOperationLogCtrl', ['$scope', '$http', '$filter', function ($scope, $http, $filter) { $scope.pagination = {}; - $scope.params = {date: new Date()}; - $scope.listWechatMsgs = function (page) { + $scope.params = {}; + $scope.listConfiglogs = function (page) { var params = angular.copy($scope.params) || {}; params.page = page || $scope.pagination.page || 1; params.date = $filter('date')(params.date, 'yyyyMMdd'); - $http.get('/sys_logs/wechat_msg', {params: params}).then(function (resp) { - $scope.wechatMsgs = resp.data.data; + $http.get('/sys_logs/config/operation', {params: params}).then(function (resp) { + $scope.logs = resp.data.data; $scope.pagination = resp.data.pagination; }); }; - $scope.listWechatMsgs(); + $scope.listConfiglogs(); }]); return app; diff --git a/src/main/ui/static/config/logview/templates/config_opertaion_log.html b/src/main/ui/static/config/logview/templates/config_opertaion_log.html index d50f52b00..9c45e5586 100644 --- a/src/main/ui/static/config/logview/templates/config_opertaion_log.html +++ b/src/main/ui/static/config/logview/templates/config_opertaion_log.html @@ -3,25 +3,7 @@
- -
-
- - -
-
- - -
-
- - +
From bf6bd34e3698bf87963b39d39a6ef42e642c8203 Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Fri, 15 Jun 2018 15:24:21 +0800 Subject: [PATCH 04/10] update --- .../com/royalpay/payment/manage/system/web/MailController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/au/com/royalpay/payment/manage/system/web/MailController.java b/src/main/java/au/com/royalpay/payment/manage/system/web/MailController.java index f977bfc72..e2137591c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/web/MailController.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/web/MailController.java @@ -29,7 +29,7 @@ public class MailController { mailService.removeUnsub(id); } - @RequestMapping(value = "/unsub",method = RequestMethod.POST) + @RequestMapping(value = "/unsub",method = RequestMethod.PUT) // @RequireManager(role = {ManagerRole.ADMIN, ManagerRole.BD_USER, ManagerRole.OPERATOR, ManagerRole.SERVANT}) public void removeSub(@RequestParam String client_moniker) { mailService.addUnsub(client_moniker); From debc6ea13c99acee2b82dec5cf9862204c80213b Mon Sep 17 00:00:00 2001 From: yuan <1551130722@qq.com> Date: Fri, 15 Jun 2018 18:02:05 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E8=AE=A2=E9=98=85=E9=82=AE=E4=BB=B6=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mappers/system/MailUnsubMapper.java | 3 + .../manage/merchants/core/ClientManager.java | 4 + .../core/impls/ClientManagerImpl.java | 43 ++++++---- .../web/PartnerManageController.java | 8 ++ .../notice/core/impls/MailServiceImp.java | 6 +- .../manage/system/web/MailController.java | 21 +++-- .../ui/static/config/sysconfigs/sysconfigs.js | 53 ++++++++++++ .../sysconfigs/templates/add_mail_unsub.html | 13 +++ .../sysconfigs/templates/mail_subscribe.html | 82 +++++++++++++++++++ .../sysconfigs/templates/sysconfig.html | 5 ++ .../static/payment/partner/partner-manage.js | 11 +++ .../partner/templates/partner_detail.html | 12 ++- 12 files changed, 234 insertions(+), 27 deletions(-) create mode 100644 src/main/ui/static/config/sysconfigs/templates/add_mail_unsub.html create mode 100644 src/main/ui/static/config/sysconfigs/templates/mail_subscribe.html diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailUnsubMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailUnsubMapper.java index 7a512f7c5..07f08af4c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailUnsubMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/MailUnsubMapper.java @@ -27,6 +27,9 @@ public interface MailUnsubMapper { @AutoSql(type = SqlType.SELECT) JSONObject getOne(@Param("id") Long id,@Param("address") String address); + @AutoSql(type = SqlType.SELECT) + JSONObject findOneByClientMoniker(@Param("client_moniker") String client_moniker); + PageList queryPageable(JSONObject params, PageBounds pagination); List query(JSONObject params); 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 939d22ef6..ef0ac79e8 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 @@ -310,4 +310,8 @@ public interface ClientManager { JSONObject getByEmail(String email, int page, int limit,List ExceptClientIds); + void addSub(String client_moniker, JSONObject manager); + + void removeSub(String client_moniker, JSONObject manager); + } 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 a75189f26..a7bf6ff4d 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 @@ -19,21 +19,7 @@ import au.com.royalpay.payment.manage.mappers.log.LogClientSubMerchantIdMapper; import au.com.royalpay.payment.manage.mappers.log.LogSettleMailMapper; import au.com.royalpay.payment.manage.mappers.payment.TransactionMapper; import au.com.royalpay.payment.manage.mappers.redpack.ActClientInvitationCodeMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientAccountMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientApplyMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientAuditProcessMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientBDMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientBankAccountMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientDeviceMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientFilesMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientRateMapper; -import au.com.royalpay.payment.manage.mappers.system.ClientsContractMapper; -import au.com.royalpay.payment.manage.mappers.system.CommoditiesMapper; -import au.com.royalpay.payment.manage.mappers.system.MailSendMapper; -import au.com.royalpay.payment.manage.mappers.system.ManagerMapper; -import au.com.royalpay.payment.manage.mappers.system.OrgMapper; -import au.com.royalpay.payment.manage.mappers.system.SysWxMerchantApplyMapper; +import au.com.royalpay.payment.manage.mappers.system.*; import au.com.royalpay.payment.manage.merchants.beans.ActivityPosterBuilder; import au.com.royalpay.payment.manage.merchants.beans.BankAccountInfo; import au.com.royalpay.payment.manage.merchants.beans.ClientAuthFilesInfo; @@ -187,6 +173,8 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid @Resource private ClientRateMapper clientRateMapper; @Resource + private MailUnsubMapper mailUnsubMapper; + @Resource private AttachmentClient attachmentClient; @Resource private StringRedisTemplate stringRedisTemplate; @@ -326,6 +314,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid checkClientOrg(manager, client); } client.putAll(clientConfigService.find(client.getIntValue("client_id"))); + client.put("unsubscribe",mailUnsubMapper.findOneByClientMoniker(clientMoniker) == null?false:true); client.put("show_all_permission", true); int role = manager != null ? manager.getIntValue("role") : 0; if (manager != null) { @@ -3623,4 +3612,28 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid param.put("except_client_ids",exceptClientIds); return PageListUtils.buildPageListResult(clientMapper.simpleQuery(param,new PageBounds(page, limit))); } + + @Override + public void addSub(String client_moniker, JSONObject manager) { + JSONObject client = getClientInfoByMoniker(client_moniker); + if (client == null) { + throw new InvalidShortIdException(); + } + checkOrgPermission(manager, client); + mailService.addUnsub(client_moniker); + } + + @Override + public void removeSub(String client_moniker, JSONObject manager) { + JSONObject client = getClientInfoByMoniker(client_moniker); + if (client == null) { + throw new InvalidShortIdException(); + } + checkOrgPermission(manager, client); + JSONObject sub = mailUnsubMapper.findOneByClientMoniker(client_moniker); + if(sub == null){ + throw new BadRequestException(); + } + mailService.removeUnsub(sub.getLong("id")); + } } 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 61baace0f..df6203b1a 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 @@ -517,6 +517,14 @@ public class PartnerManageController { public List getClientSubMerchantIdLogs(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { return clientManager.getClientSubMerchantIdLogs(clientMoniker,manager); } + @ManagerMapping(value = "/unsub/{clientMoniker}",method = RequestMethod.PUT,role = {ManagerRole.OPERATOR}) + public void addSub(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + clientManager.addSub(clientMoniker,manager); + } + @ManagerMapping(value = "/unsub/{clientMoniker}",method = RequestMethod.DELETE,role = {ManagerRole.OPERATOR}) + public void removeSub(@PathVariable String clientMoniker, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + clientManager.removeSub(clientMoniker,manager); + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java b/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java index cd436b203..6e9e7e7d9 100644 --- a/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java +++ b/src/main/java/au/com/royalpay/payment/manage/notice/core/impls/MailServiceImp.java @@ -4,6 +4,7 @@ import au.com.royalpay.payment.manage.mappers.system.MailUnsubMapper; import au.com.royalpay.payment.manage.merchants.core.ClientManager; import au.com.royalpay.payment.manage.notice.beans.NoticeBean; import au.com.royalpay.payment.manage.notice.core.MailService; +import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.NotFoundException; import au.com.royalpay.payment.tools.exceptions.ServerErrorException; import au.com.royalpay.payment.tools.utils.PageListUtils; @@ -12,6 +13,7 @@ import au.com.royalpay.payment.tools.utils.id.IdUtil; 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 org.apache.commons.codec.digest.DigestUtils; @@ -199,7 +201,7 @@ public class MailServiceImp implements MailService { @Override public JSONObject queryUnsubPageable(JSONObject params, int limit, int page) { - return PageListUtils.buildPageListResult(mailUnsubMapper.queryPageable(params,new PageBounds(page, limit))); + return PageListUtils.buildPageListResult(mailUnsubMapper.queryPageable(params,new PageBounds(page, limit, Order.formString("create_time.desc")))); } @@ -211,7 +213,7 @@ public class MailServiceImp implements MailService { } JSONObject existRecord = mailUnsubMapper.getOne(null,client.getString("contact_email")); if(existRecord!=null){ - return; + throw new BadRequestException("Client has already existed"); } JSONObject record= new JSONObject(); record.put("id", IdUtil.getId()); diff --git a/src/main/java/au/com/royalpay/payment/manage/system/web/MailController.java b/src/main/java/au/com/royalpay/payment/manage/system/web/MailController.java index e2137591c..aff69f059 100644 --- a/src/main/java/au/com/royalpay/payment/manage/system/web/MailController.java +++ b/src/main/java/au/com/royalpay/payment/manage/system/web/MailController.java @@ -2,13 +2,12 @@ package au.com.royalpay.payment.manage.system.web; import au.com.royalpay.payment.manage.notice.core.MailService; +import au.com.royalpay.payment.manage.permission.manager.RequireManager; +import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import com.alibaba.fastjson.JSONObject; -import org.springframework.web.bind.annotation.PathVariable; -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 org.apache.commons.lang3.StringUtils; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -29,9 +28,9 @@ public class MailController { mailService.removeUnsub(id); } - @RequestMapping(value = "/unsub",method = RequestMethod.PUT) + @RequestMapping(value = "/unsub/{client_moniker}",method = RequestMethod.PUT) // @RequireManager(role = {ManagerRole.ADMIN, ManagerRole.BD_USER, ManagerRole.OPERATOR, ManagerRole.SERVANT}) - public void removeSub(@RequestParam String client_moniker) { + public void removeSub(@PathVariable String client_moniker) { mailService.addUnsub(client_moniker); } @@ -39,8 +38,12 @@ public class MailController { // @RequireManager(role = {ManagerRole.ADMIN, ManagerRole.BD_USER, ManagerRole.OPERATOR, ManagerRole.SERVANT}) public JSONObject list(@RequestParam(required = false) String client_moniker,@RequestParam(required = false) String address,@RequestParam(required = false,defaultValue = "10") int limit ,@RequestParam(required = false,defaultValue = "1") int page) { JSONObject params = new JSONObject(); - params.put("client_moniker",client_moniker); - params.put("address",address); + if(StringUtils.isNotEmpty(client_moniker)){ + params.put("client_moniker",client_moniker); + } + if(StringUtils.isNotEmpty(address)){ + params.put("address",address); + } return mailService.queryUnsubPageable(params,limit,page); } } diff --git a/src/main/ui/static/config/sysconfigs/sysconfigs.js b/src/main/ui/static/config/sysconfigs/sysconfigs.js index 881bba243..763f50f5c 100644 --- a/src/main/ui/static/config/sysconfigs/sysconfigs.js +++ b/src/main/ui/static/config/sysconfigs/sysconfigs.js @@ -30,6 +30,10 @@ define(['angular', 'uiRouter'], function (angular) { return $http.get('/sys/permission/modules') }] } + }).state('sysconfig.mail_subscribe', { + url: '/mail', + templateUrl: '/static/config/sysconfigs/templates/mail_subscribe.html', + controller: 'mailSubscribeCtrl' })/*.state('sysconfig.payment_config',{ url: '/payment_config', templateUrl: '/static/config/sysconfigs/templates/payemnt_config.html', @@ -227,6 +231,55 @@ define(['angular', 'uiRouter'], function (angular) { }; }]); + app.controller('mailSubscribeCtrl', ['$scope', '$http','commonDialog','$uibModal',function ($scope, $http,commonDialog,$uibModal) { + $scope.params = {}; + $scope.pagination = {}; + $scope.loadUnSubs = function (page) { + var params = angular.copy($scope.params); + params.page = page || $scope.pagination.page || 1; + $http.get('/sys/mail/unsub/query',{params:params}).then(function (resp) { + $scope.mailSubscribes = resp.data.data; + $scope.pagination = resp.data.pagination; + }) + }; + $scope.deleteSub = function (id) { + commonDialog.confirm({ + title: 'Confirm', + content: 'Are you sure?' + }).then(function () { + $http.delete('/sys/mail/unsub/'+id).then(function () { + $scope.loadUnSubs(); + }, function (resp) { + commonDialog.alert({title: 'Error!', content: resp.data.message, type: 'error'}) + }) + }) + }; + $scope.addUnSub = function () { + $uibModal.open({ + templateUrl: '/static/config/sysconfigs/templates/add_mail_unsub.html', + controller: 'addUnSubDialogCtrl', + size: 'sm' + }).result.then(function () { + $scope.loadUnSubs(); + }); + }; + $scope.loadUnSubs(); + }]); + app.controller('addUnSubDialogCtrl', ['$scope', '$http', 'commonDialog','$state', function ($scope, $http, commonDialog,$state) { + $scope.unSub = {}; + $scope.save = function () { + var unSub = angular.copy($scope.params); + if(!unSub.client_moniker){ + alert("client_moniker 不可为空!") + } + $http.put('/sys/mail/unsub/'+unSub.client_moniker).then(function (resp) { + commonDialog.alert({title: 'Success', content: '新增成功', type: 'success'}); + $scope.$close(); + }, function (resp) { + commonDialog.alert({title: 'Error!', content: resp.data.message, type: 'error'}) + }) + } + }]); /*app.controller('paymentConfigCtrl', ['$scope', '$http', 'commonDialog', function ($scope, $http, commonDialog) { $scope.loadSysConfigs = function () { $http.get('/sysconfig/base').then(function (resp) { diff --git a/src/main/ui/static/config/sysconfigs/templates/add_mail_unsub.html b/src/main/ui/static/config/sysconfigs/templates/add_mail_unsub.html new file mode 100644 index 000000000..6d24869d2 --- /dev/null +++ b/src/main/ui/static/config/sysconfigs/templates/add_mail_unsub.html @@ -0,0 +1,13 @@ + + +
+
+
+ +
+
+ +
+ +
+
diff --git a/src/main/ui/static/config/sysconfigs/templates/mail_subscribe.html b/src/main/ui/static/config/sysconfigs/templates/mail_subscribe.html new file mode 100644 index 000000000..db91203ff --- /dev/null +++ b/src/main/ui/static/config/sysconfigs/templates/mail_subscribe.html @@ -0,0 +1,82 @@ +
+

Mail Not Subscribe

+ +
+
+
+
+
+
+
+
+
+ +
+
+ +
+ + +
+
+
+
+
+

Not Subscribed List

+
+ +
+ + + + + + + + + + + + + + + + + + + +
Partner CodeClient IdMail AddressCreate TimeOperation
+ + + +
+
+ +
+
+
+
+
\ No newline at end of file diff --git a/src/main/ui/static/config/sysconfigs/templates/sysconfig.html b/src/main/ui/static/config/sysconfigs/templates/sysconfig.html index 0109d8749..ecfe43b97 100644 --- a/src/main/ui/static/config/sysconfigs/templates/sysconfig.html +++ b/src/main/ui/static/config/sysconfigs/templates/sysconfig.html @@ -20,6 +20,11 @@ Permission Config + + + Mail Subscriptions + + + From 1650f513962eb8d13788716c99aaea66a5e6bc7f Mon Sep 17 00:00:00 2001 From: yuan <1551130722@qq.com> Date: Tue, 19 Jun 2018 12:04:27 +0800 Subject: [PATCH 08/10] =?UTF-8?q?add=201=E3=80=81gateway=5Falipay=5Fonline?= =?UTF-8?q?=E5=BC=80=E5=85=B3,2=E3=80=81ali=5Fsub=5Fmerchant=5Fid=20=20?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/merchants/core/ClientManager.java | 5 +++ .../core/impls/ClientManagerImpl.java | 24 ++++++++++++++ .../web/PartnerManageController.java | 9 +++++ .../static/payment/partner/partner-manage.js | 33 ++++++++++++++++++- .../templates/partner_payment_info.html | 29 ++++++++++++++++ 5 files changed, 99 insertions(+), 1 deletion(-) 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 ef0ac79e8..28b1d03c2 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 @@ -60,6 +60,9 @@ public interface ClientManager { @Transactional void updateClientPaymentConfig(JSONObject manager, String clientMoniker, JSONObject subMerchantInfo); + @Transactional + void updateAliSubMerchantId(JSONObject manager, String clientMoniker, JSONObject aliSubMerchantInfo); + @Transactional(noRollbackFor = EmailException.class) void auditClient(JSONObject manager, String clientMoniker, int pass); @@ -258,6 +261,8 @@ public interface ClientManager { void enableGatewayUpgrade(JSONObject account,String clientMoniker, boolean gatewayUpgrade); + void enableGatewayAlipayOnline(JSONObject account,String clientMoniker, boolean gatewayAlipayOnline); + void setCustomerSurchargeRate(JSONObject account,String clientMoniker, BigDecimal customer_surcharge_rate); void setOrderExpiryConfig(JSONObject account,String clientMoniker, String orderExpiryConfig); 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 a7bf6ff4d..32771d85a 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 @@ -711,6 +711,21 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid clientInfoCacheSupport.clearClientCache(clientId); } + @Override + public void updateAliSubMerchantId(JSONObject manager, String clientMoniker, JSONObject aliSubMerchantInfo) { + JSONObject client = getClientInfoByMoniker(clientMoniker); + if (client == null) { + throw new InvalidShortIdException(); + } + checkOrgPermission(manager, client); + JSONObject update = new JSONObject(); + int clientId = client.getIntValue("client_id"); + update.put("client_id", clientId); + update.put("ali_sub_merchant_id", aliSubMerchantInfo.getString("ali_sub_merchant_id")); + clientMapper.update(update); + clientInfoCacheSupport.clearClientCache(clientId); + } + private void recordSubMerchantLog(JSONObject client, JSONObject subMerchantInfo, JSONObject manager) { JSONObject log = new JSONObject(); log.put("sub_merchant_id_after", subMerchantInfo.getString("sub_merchant_id")); @@ -3050,6 +3065,15 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account, clientMoniker, "gateway_upgrade", gatewayUpgrade)); } + @Override + public void enableGatewayAlipayOnline(JSONObject account, String clientMoniker, boolean gatewayAlipayOnline) { + JSONObject client = getClientInfoByMoniker(clientMoniker); + if (client == null) { + throw new InvalidShortIdException(); + } + clientModifySupport.processClientConfigModify(new SwitchPermissionModify(account, clientMoniker, "gateway_alipay_online", gatewayAlipayOnline)); + } + private void sendMessagetoCompliance(JSONObject client, String bd_user_name) { List complianceList = managerMapper.getOnlyCompliance(); if (complianceList != null && complianceList.size() > 0) { 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 df6203b1a..57c66375d 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 @@ -154,6 +154,10 @@ public class PartnerManageController { public void updatePartnerPaymentConfig(@PathVariable String clientMoniker, @RequestBody JSONObject subMerchantInfo, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { clientManager.updateClientPaymentConfig(manager, clientMoniker, subMerchantInfo); } + @ManagerMapping(value = "/{clientMoniker}/ali_sub_merchant_id", method = RequestMethod.PUT, role = {ManagerRole.OPERATOR}) + public void updateAliSubMerchantId(@PathVariable String clientMoniker, @RequestBody JSONObject aliSubMerchantInfo, @ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager) { + clientManager.updateAliSubMerchantId(manager, clientMoniker, aliSubMerchantInfo); + } @ManagerMapping(value = "/{clientMoniker}/qrcode_surcharge", method = RequestMethod.PUT, role = {ManagerRole.OPERATOR, ManagerRole.ADMIN, ManagerRole.BD_USER, ManagerRole.SERVANT}) public void setClientPaySurCharge(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager,@PathVariable String clientMoniker, @RequestBody JSONObject config) { @@ -165,6 +169,11 @@ public class PartnerManageController { clientManager.enableGatewayUpgrade(manager,clientMoniker, config.getBooleanValue("gateway_upgrade")); } + @ManagerMapping(value = "/{clientMoniker}/gateway_alipay_online", method = RequestMethod.PUT, role = {ManagerRole.DEVELOPER}) + public void enableGatewayAlipayOnline(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager,@PathVariable String clientMoniker, @RequestBody JSONObject config) { + clientManager.enableGatewayAlipayOnline(manager,clientMoniker, config.getBooleanValue("gateway_alipay_online")); + } + @ManagerMapping(value = "/{clientMoniker}/api_surcharge", method = RequestMethod.PUT, role = {ManagerRole.OPERATOR, ManagerRole.ADMIN, ManagerRole.BD_USER, ManagerRole.SERVANT}) public void setClientApiPaySurCharge(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager,@PathVariable String clientMoniker, @RequestBody JSONObject config) { clientManager.setClientApiPaySurCharge(manager,clientMoniker, config.getBooleanValue("api_surcharge")); diff --git a/src/main/ui/static/payment/partner/partner-manage.js b/src/main/ui/static/payment/partner/partner-manage.js index 0ae5a8464..2153f9788 100644 --- a/src/main/ui/static/payment/partner/partner-manage.js +++ b/src/main/ui/static/payment/partner/partner-manage.js @@ -1079,6 +1079,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter $http.get('/sys/partners/' + $scope.partner.client_moniker).then(function (resp) { $scope.paymentInfo = resp.data; $scope.ctrl.editSubMerchant = false; + $scope.ctrl.editAliSubMerchant = false; $scope.ctrl.editMaxOrderAmount = false; $scope.ctrl.editOrderExpiryConfig = false; }) @@ -1209,6 +1210,18 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}) }); }; + $scope.saveAliSubMerchantId = function () { + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/ali_sub_merchant_id', {ali_sub_merchant_id: $scope.paymentInfo.ali_sub_merchant_id}).then(function (resp) { + commonDialog.alert({ + title: 'Success', + content: 'Modify Ali Sub Merchant ID successfully', + type: 'success' + }); + $scope.loadPartnerPaymentInfo(); + }, function (resp) { + commonDialog.alert({title: 'Error', content: resp.data.message, type: 'error'}) + }); + }; $scope.refreshCredential = function () { commonDialog.confirm({ title: 'Warning', @@ -1221,7 +1234,7 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }) }) }; - $scope.init = {jsapi: false, gateway: false, offline: false, refund: false,common_sub_merchant_id:false, channel: {}}; + $scope.init = {jsapi: false, gateway: false, offline: false, refund: false,common_sub_merchant_id:false, channel: {},gateway_alipay_online:false}; $scope.switchCommonSubMerchantId = function () { if (!$scope.paymentInfo) { return; @@ -1315,6 +1328,24 @@ define(['angular', 'decimal', 'static/commons/commons', 'uiBootstrap', 'uiRouter }) }) }; + $scope.toggleGatewayAlipayOnline = function () { + if (!$scope.paymentInfo) { + return; + } + if (!$scope.init.gateway_alipay_online) { + $scope.init.gateway_alipay_online = true; + return; + } + $http.put('/sys/partners/' + $scope.partner.client_moniker + '/gateway_alipay_online', {gateway_alipay_online: $scope.paymentInfo.gateway_alipay_online}).then(function () { + $scope.loadPartnerPaymentInfo(); + }, function (resp) { + commonDialog.alert({ + title: 'failed to change Gateway Alipay Online status', + content: resp.data.message, + type: 'error' + }) + }) + }; $scope.toggleRefund = function () { if (!$scope.paymentInfo) { return; 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 7e792cbc9..4ef0ef886 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 @@ -39,6 +39,29 @@ +
+ +
+

+ {{paymentInfo.ali_sub_merchant_id||'Not Configure'}} + +

+
+ +
+ +
+
+ +
+
+
+
@@ -255,6 +278,12 @@
+
+ +
+ +
+
From 584eeff188b4b4b3d80b6c4693fbe32928d62e4e Mon Sep 17 00:00:00 2001 From: wangning <164851225@qq.com> Date: Tue, 19 Jun 2018 15:10:12 +0800 Subject: [PATCH 09/10] tmp --- .../analysis/mappers/BDAnalysisMapper.xml | 47 ++++++++++++------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml index b95b87800..394f55eef 100644 --- a/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml +++ b/src/main/resources/au/com/royalpay/payment/manage/analysis/mappers/BDAnalysisMapper.xml @@ -136,23 +136,36 @@