diff --git a/src/main/java/au/com/royalpay/payment/manage/mappers/system/OrgMapper.java b/src/main/java/au/com/royalpay/payment/manage/mappers/system/OrgMapper.java index 4ce95dfbf..a36a4fd4c 100644 --- a/src/main/java/au/com/royalpay/payment/manage/mappers/system/OrgMapper.java +++ b/src/main/java/au/com/royalpay/payment/manage/mappers/system/OrgMapper.java @@ -42,6 +42,10 @@ public interface OrgMapper { @AdvanceSelect(addonWhereClause = "is_valid=1 AND parent_org_id is null") List listAllOrgs(); + @AutoSql(type = SqlType.SELECT) + @AdvanceSelect(addonWhereClause = "is_valid=1 AND senior_parent_org_id=0") + List listSeniorOrgs(); + JSONObject findOrgByBDId(@Param("bd_id") String bd_id); PageList listOrgWithPages(JSONObject paraams, PageBounds order); diff --git a/src/main/java/au/com/royalpay/payment/manage/organizations/beans/OrgInfo.java b/src/main/java/au/com/royalpay/payment/manage/organizations/beans/OrgInfo.java index baa3e543e..819eb2151 100644 --- a/src/main/java/au/com/royalpay/payment/manage/organizations/beans/OrgInfo.java +++ b/src/main/java/au/com/royalpay/payment/manage/organizations/beans/OrgInfo.java @@ -42,6 +42,7 @@ public class OrgInfo { private Double min_jd_rate; private Double min_alipayonline_rate; private Double min_hf_rate; + private String senior_parent_org_id; public JSONObject toJsonParam() { JSONObject param = new JSONObject(); @@ -54,15 +55,19 @@ public class OrgInfo { if (StringUtils.isNotBlank(search_text)) { param.put("search_text", search_text); } - if (type != null){ + if (type != null) { param.put("type", type); } - if (StringUtils.isNotBlank(parent_org_id)){ + if (StringUtils.isNotBlank(parent_org_id)) { param.put("parent_org_id", parent_org_id); } - if (StringUtils.isNotBlank(org_id)){ + if (StringUtils.isNotBlank(org_id)) { param.put("org_id", org_id); } + if (StringUtils.isNotBlank(senior_parent_org_id)) { + param.put("senior_parent_org_id", senior_parent_org_id); + } + return param; } @@ -301,4 +306,12 @@ public class OrgInfo { public void setMin_hf_rate(Double min_hf_rate) { this.min_hf_rate = min_hf_rate; } + + public String getSenior_parent_org_id() { + return senior_parent_org_id; + } + + public void setSenior_parent_org_id(String senior_parent_org_id) { + this.senior_parent_org_id = senior_parent_org_id; + } } diff --git a/src/main/java/au/com/royalpay/payment/manage/organizations/core/OrgManager.java b/src/main/java/au/com/royalpay/payment/manage/organizations/core/OrgManager.java index 0a4d56048..b63751f3a 100644 --- a/src/main/java/au/com/royalpay/payment/manage/organizations/core/OrgManager.java +++ b/src/main/java/au/com/royalpay/payment/manage/organizations/core/OrgManager.java @@ -11,6 +11,8 @@ import java.util.List; public interface OrgManager { List listOrgs(boolean detail); + List listSeniorOrgs(); + List listOrgsWithChid(JSONObject manager,OrgInfo orgInfo); List listOrgAndChild(JSONObject manager); diff --git a/src/main/java/au/com/royalpay/payment/manage/organizations/core/impls/OrgManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/organizations/core/impls/OrgManagerImpl.java index 91dffda39..9e126ffd5 100644 --- a/src/main/java/au/com/royalpay/payment/manage/organizations/core/impls/OrgManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/organizations/core/impls/OrgManagerImpl.java @@ -3,25 +3,25 @@ package au.com.royalpay.payment.manage.organizations.core.impls; import au.com.royalpay.payment.manage.mappers.system.OrgMapper; import au.com.royalpay.payment.manage.organizations.beans.OrgInfo; import au.com.royalpay.payment.manage.organizations.core.OrgManager; -import au.com.royalpay.payment.tools.exceptions.BadRequestException; import au.com.royalpay.payment.tools.exceptions.ForbiddenException; -import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.tools.utils.PageListUtils; + import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.github.miemiedev.mybatis.paginator.domain.Order; import com.github.miemiedev.mybatis.paginator.domain.PageBounds; import com.github.miemiedev.mybatis.paginator.domain.PageList; + import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.stream.Collectors; +import javax.annotation.Resource; + /** * Created by yixian on 2016-10-18. */ @@ -36,6 +36,11 @@ public class OrgManagerImpl implements OrgManager { return orgMapper.listOrgs(0,sort); } + @Override + public List listSeniorOrgs() { + return orgMapper.listSeniorOrgs(); + } + @Override public List listOrgsWithChid(JSONObject manager,OrgInfo orgInfo) { JSONObject params = new JSONObject(); diff --git a/src/main/java/au/com/royalpay/payment/manage/organizations/web/OrgManageController.java b/src/main/java/au/com/royalpay/payment/manage/organizations/web/OrgManageController.java index 0e35e8948..04899423e 100644 --- a/src/main/java/au/com/royalpay/payment/manage/organizations/web/OrgManageController.java +++ b/src/main/java/au/com/royalpay/payment/manage/organizations/web/OrgManageController.java @@ -3,18 +3,26 @@ package au.com.royalpay.payment.manage.organizations.web; import au.com.royalpay.payment.manage.organizations.beans.OrgInfo; import au.com.royalpay.payment.manage.organizations.core.OrgManager; import au.com.royalpay.payment.manage.permission.manager.ManagerMapping; -import au.com.royalpay.payment.tools.CommonConsts; -import au.com.royalpay.payment.tools.permission.enums.ManagerRole; import au.com.royalpay.payment.manage.permission.manager.RequireManager; +import au.com.royalpay.payment.tools.CommonConsts; import au.com.royalpay.payment.tools.http.HttpUtils; -import com.alibaba.fastjson.JSONArray; +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.*; +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.util.List; import javax.annotation.Resource; import javax.validation.Valid; -import java.util.List; /** * Created by yixian on 2016-10-18. @@ -31,6 +39,12 @@ public class OrgManageController { return orgManager.listOrgs(detail); } + @RequestMapping(value = "/senior",method = RequestMethod.GET) + @RequireManager + public List listSeniorOrgs() { + return orgManager.listSeniorOrgs(); + } + @RequestMapping(value = "/orgChild",method = RequestMethod.GET) @RequireManager public List listOrgsWithChid(@ModelAttribute(CommonConsts.MANAGER_STATUS) JSONObject manager,OrgInfo orgInfo) { diff --git a/src/main/ui/static/config/organizations/organizations.js b/src/main/ui/static/config/organizations/organizations.js index 39fdc0ff0..bdf3cc276 100644 --- a/src/main/ui/static/config/organizations/organizations.js +++ b/src/main/ui/static/config/organizations/organizations.js @@ -92,6 +92,17 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { if (($scope.currentUser.role & parseInt('1000000000000', 2)) > 0 && $scope.currentUser.org_id) { $scope.org.type = 0; } + $scope.loadSeniorOrg = function () { + $http.get('/sys/orgs/senior').then(function (resp) { + $scope.seniorOrgs = resp.data; + var senior = {org_id:0,name:'I\'m Senior'} + var noop = {org_id:-1,name:'noop'} + $scope.seniorOrgs.unshift(noop); + $scope.seniorOrgs.unshift(senior); + }) + }; + $scope.loadSeniorOrg(1); + $scope.uploadLogo = function (file) { if (file == null) { return; @@ -292,6 +303,16 @@ define(['angular', 'uiRouter', 'uiBootstrap'], function (angular) { app.controller('newOrgCtrl', ['$scope', '$http', '$state', 'Upload', 'commonDialog', function ($scope, $http, $state, Upload, commonDialog) { $scope.types = angular.copy(types); $scope.commission_types = angular.copy(commission_types); + $scope.loadSeniorOrg = function () { + $http.get('/sys/orgs/senior').then(function (resp) { + $scope.seniorOrgs = resp.data; + var senior = {org_id:0,name:'I\'m Senior'} + var noop = {org_id:-1,name:'noop'} + $scope.seniorOrgs.unshift(noop); + $scope.seniorOrgs.unshift(senior); + }) + }; + $scope.loadSeniorOrg(1); $scope.uploadLogo = function (file) { if (file == null) { return; diff --git a/src/main/ui/static/config/organizations/templates/new_org.html b/src/main/ui/static/config/organizations/templates/new_org.html index e42e41e9d..0c41fe23d 100644 --- a/src/main/ui/static/config/organizations/templates/new_org.html +++ b/src/main/ui/static/config/organizations/templates/new_org.html @@ -55,6 +55,16 @@ +
+ +
+ +
+
+ +
@@ -66,6 +76,9 @@
+ + +
diff --git a/src/main/ui/static/config/organizations/templates/org_detail.html b/src/main/ui/static/config/organizations/templates/org_detail.html index 66f4c64f8..e56598578 100644 --- a/src/main/ui/static/config/organizations/templates/org_detail.html +++ b/src/main/ui/static/config/organizations/templates/org_detail.html @@ -71,7 +71,15 @@
+
+
+
+ +
+