diff --git a/pom.xml b/pom.xml
index c8b6882fa..ef51f8c0f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
4.0.0
manage
- 1.3.1
+ 1.3.2
UTF-8
1.4.0
diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientDeviceMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientDeviceMapper.java
index cc87aaed2..62563ac3d 100644
--- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientDeviceMapper.java
+++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/ClientDeviceMapper.java
@@ -9,6 +9,8 @@ import com.github.miemiedev.mybatis.paginator.domain.PageBounds;
import com.github.miemiedev.mybatis.paginator.domain.PageList;
import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
/**
* Created by yixian on 2016-09-12.
*/
@@ -45,4 +47,6 @@ public interface ClientDeviceMapper {
PageList listDevices(JSONObject params, PageBounds pagination);
void deviceOffline(@Param("account_id") String accountId);
+
+ List listClientDeviceIds(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 fb979ebcb..3cbdf6454 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
@@ -203,6 +203,15 @@ public interface ClientManager {
JSONObject listClientDevices(JSONObject manager, String clientMoniker, String remark, int page, int limit, String client_type, String[] client_ids);
+ /**
+ * 获取所有设备Id分类
+ * @param clientMoniker
+ * @param client_type
+ * @param client_ids
+ * @return
+ */
+ JSONObject listClientDeviceIds(String clientMoniker, String client_type, String[] client_ids);
+
void updateDevie(JSONObject manager, String clientMoniker, String devId, String remark);
void toggleDeviceAvailable(JSONObject manager, String clientMoniker, String devId, boolean enable);
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 0f7844be0..26a4f6dd8 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
@@ -2573,6 +2573,27 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid
return PageListUtils.buildPageListResult(devices);
}
+ @Override
+ public JSONObject listClientDeviceIds(String clientMoniker, String client_type, String[] client_ids) {
+ JSONObject client = getClientInfoByMoniker(clientMoniker);
+ if (client == null) {
+ throw new InvalidShortIdException();
+ }
+ checkOrgPermission(null, client);
+ JSONObject params = new JSONObject();
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+ sdf.setTimeZone(TimeZone.getTimeZone(client.getString("timezone") != null ? client.getString("timezone") : "Australia/Melbourne"));
+ params.put("client_id", client.getIntValue("client_id"));
+ if (client_ids != null) {
+ params.put("client_ids", Arrays.asList(client_ids));
+ params.remove("client_id");
+ }
+ List deviceIds = clientDeviceMapper.listClientDeviceIds(params);
+ return new JSONObject(){{
+ put("data",deviceIds);
+ }};
+ }
+
@Override
@Transactional
public void addDevice(JSONObject manager, String clientMoniker, JSONObject newDevice) {
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 263f41335..4d8441971 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
@@ -364,6 +364,13 @@ public class PartnerViewController {
return clientManager.listClientDevices(null, account.getString("client_moniker"), remark, page, limit, client_type, client_ids);
}
+ @PartnerMapping(value = "/device_ids", method = RequestMethod.GET, roles = PartnerRole.ADMIN)
+ @ResponseBody
+ public JSONObject listClientDeviceIds(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account,
+ @RequestParam(required = false) String client_type, @RequestParam(required = false) String[] client_ids) {
+ return clientManager.listClientDeviceIds(account.getString("client_moniker"), client_type, client_ids);
+ }
+
@PartnerMapping(value = "/devices/{devId}", method = RequestMethod.PUT, roles = PartnerRole.ADMIN)
@ResponseBody
public void modifyDevice(@ModelAttribute(CommonConsts.PARTNER_STATUS) JSONObject account, @PathVariable String devId, @RequestBody JSONObject remark) {
diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/OrderMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/OrderMapper.xml
index a3d0af434..22564bdb5 100644
--- a/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/OrderMapper.xml
+++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/payment/OrderMapper.xml
@@ -510,7 +510,7 @@
and o.client_order_id = #{search_text}
- and dev_id=#{dev_id}
+ and binary dev_id=#{dev_id}
and o.gateway in
#{gateway}
@@ -664,7 +664,7 @@
and o.create_time >= #{from}
and o.create_time < #{to}
and date(o.create_time)=date(#{date})
- and o.dev_id=#{dev_id}
+ and binary o.dev_id=#{dev_id}
and
o.status=#{std}
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 7a54bdbc5..4783e302a 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
@@ -170,7 +170,7 @@
and t.refund_id is NOT NULL
and t.transaction_type='Debit' and t.refund_id is NULL
- and o.dev_id = #{dev_id}
+ and binary o.dev_id = #{dev_id}
and
@@ -241,7 +241,7 @@
and t.refund_id is NOT NULL
and t.transaction_type='Debit' and t.refund_id is NULL
- and o.dev_id = #{dev_id}
+ and binary o.dev_id = #{dev_id}
and
diff --git a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientDeviceMapper.xml b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientDeviceMapper.xml
index af5953388..7e18c8768 100644
--- a/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientDeviceMapper.xml
+++ b/src/main/resources/au/com/royalpay/payment/manage/mappers/system/ClientDeviceMapper.xml
@@ -22,6 +22,23 @@
+
+
+
diff --git a/src/main/ui/static/payment/tradelog/tradelog.js b/src/main/ui/static/payment/tradelog/tradelog.js
index ff3dd0a0f..b5cc4b557 100644
--- a/src/main/ui/static/payment/tradelog/tradelog.js
+++ b/src/main/ui/static/payment/tradelog/tradelog.js
@@ -24,6 +24,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.isAll = true;
$scope.isLevel3All = true;
$scope.device_isAll = true;
+ $scope.order_device_isAll = true;
$scope.dev_params = {client_type:'sunmi',limit:100};
$scope.clients = [$scope.currentUser.client];
$scope.showLevel3Clients = false;
@@ -188,6 +189,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.dev_params.client_ids = angular.copy($scope.clientIds);
$scope.showLevel3Clients = false;
$scope.listDevices();
+ $scope.listDevicesIds();
} else if (client.level3Clients) {
$scope.chooseClientId = client.client_id;
$scope.showLevel3Clients = true;
@@ -207,6 +209,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.dev_params.client_ids = [client.client_id];
$scope.showLevel3Clients = false;
$scope.listDevices();
+ $scope.listDevicesIds();
}
$scope.loadTradeLogs();
};
@@ -218,12 +221,14 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.chooseLevel3ClientId = '';
$scope.dev_params.client_ids = angular.copy($scope.level3ClientIds);
$scope.listDevices();
+ $scope.listDevicesIds();
} else {
$scope.chooseLevel3ClientId = client.client_id;
$scope.params.client_ids = [client.client_id];
$scope.isLevel3All = false;
$scope.dev_params.client_ids = [client.client_id];
$scope.listDevices();
+ $scope.listDevicesIds();
}
$scope.loadTradeLogs();
};
@@ -234,6 +239,12 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.devices = resp.data.data;
})
};
+ $scope.listDevicesIds = function () {
+ var params = angular.copy($scope.params)
+ $http.get('/client/partner_info/device_ids',{params: params}).then(function (resp) {
+ $scope.deviceIds = resp.data.data;
+ })
+ };
$scope.chooseDevices = function (dev_id) {
if(dev_id == 'all'){
$scope.chooseDevice_id = '';
@@ -244,10 +255,28 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.chooseDevice_id = dev_id;
$scope.params.dev_id = dev_id;
$scope.device_isAll = false;
+ $scope.order_device_isAll = true;
+ $scope.choose_order_device_id = '';
+ $scope.loadTradeLogs(1);
+ }
+ };
+ $scope.chooseDeviceIds = function (dev_id) {
+ if(dev_id == 'all'){
+ $scope.choose_order_device_id = '';
+ $scope.params.dev_id = null;
+ $scope.order_device_isAll = true;
+ $scope.loadTradeLogs(1);
+ }else {
+ $scope.choose_order_device_id = dev_id;
+ $scope.params.dev_id = dev_id;
+ $scope.device_isAll = true;
+ $scope.order_device_isAll = false;
+ $scope.chooseDevice_id = '';
$scope.loadTradeLogs(1);
}
};
$scope.listDevices();
+ $scope.listDevicesIds();
if ($scope.currentUser.client.has_children) {
$http.get('/client/partner_info/sub_partners').then(function (resp) {
@@ -265,8 +294,8 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
}
});
$scope.params.client_ids = angular.copy($scope.clientIds);
-
$scope.loadTradeLogs(1);
+ $scope.listDevicesIds();
//console.log($rootScope.currentUser.client.clientList);
})
}else{
diff --git a/src/main/ui/static/payment/tradelog/transflow.js b/src/main/ui/static/payment/tradelog/transflow.js
index 0d79ae790..3dc58f0c8 100644
--- a/src/main/ui/static/payment/tradelog/transflow.js
+++ b/src/main/ui/static/payment/tradelog/transflow.js
@@ -19,6 +19,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.params.channel = 'ALL'
$scope.dev_params = {client_type:'sunmi',limit:100};
$scope.device_isAll = true;
+ $scope.order_device_isAll = true;
$scope.params.trans_type = 0;
$scope.isAll = true;
$scope.clients = [$scope.currentUser.client];
@@ -66,6 +67,13 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.devices = resp.data.data;
})
};
+ $scope.listDevicesIds = function () {
+ var params = angular.copy($scope.params)
+ $http.get('/client/partner_info/device_ids',{params: params}).then(function (resp) {
+ $scope.deviceIds = resp.data.data;
+ })
+ };
+
$scope.chooseDevices = function (dev_id) {
if(dev_id == 'all'){
$scope.chooseDevice_id = '';
@@ -76,10 +84,26 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.chooseDevice_id = dev_id;
$scope.params.dev_id = dev_id;
$scope.device_isAll = false;
+ $scope.order_device_isAll = true;
+ $scope.loadTradeLogs(1);
+ }
+ };
+ $scope.chooseDeviceIds = function (dev_id) {
+ if(dev_id == 'all'){
+ $scope.choose_order_device_id = '';
+ $scope.params.dev_id = null;
+ $scope.order_device_isAll = true;
+ $scope.loadTradeLogs(1);
+ }else {
+ $scope.choose_order_device_id = dev_id;
+ $scope.params.dev_id = dev_id;
+ $scope.device_isAll = true;
+ $scope.order_device_isAll = false;
$scope.loadTradeLogs(1);
}
};
$scope.listDevices();
+ $scope.listDevicesIds();
$scope.loadTradeLogs = function (page) {
var params = angular.copy($scope.params);
if (params.datefrom) {
@@ -96,6 +120,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.analysis = resp.data.analysis;
$scope.analysis.refund_fee = angular.copy(Math.abs($scope.analysis.refund_fee));
});
+
};
$scope.chooseClient = function (client) {
if (client == 'all') {
@@ -105,6 +130,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.dev_params.client_ids = angular.copy($scope.clientIds);
$scope.showLevel3Clients = false;
$scope.listDevices();
+ $scope.listDevicesIds();
} else if (client.level3Clients) {
$scope.chooseClientId = client.client_id;
$scope.showLevel3Clients = true;
@@ -124,6 +150,7 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.dev_params.client_ids = [client.client_id];
$scope.showLevel3Clients = false;
$scope.listDevices();
+ $scope.listDevicesIds();
}
$scope.loadTradeLogs();
};
@@ -134,12 +161,14 @@ define(['angular', 'uiBootstrap', 'uiRouter'], function (angular) {
$scope.chooseLevel3ClientId = '';
$scope.dev_params.client_ids = angular.copy($scope.level3ClientIds);
$scope.listDevices();
+ $scope.listDevicesIds();
} else {
$scope.chooseLevel3ClientId = client.client_id;
$scope.params.client_ids = [client.client_id];
$scope.isLevel3All = false;
$scope.dev_params.client_ids = [client.client_id];
$scope.listDevices();
+ $scope.listDevicesIds();
}
$scope.loadTradeLogs();
};