Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
T
traffic-front
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangxiaoming
traffic-front
Commits
a5aa64e4
Commit
a5aa64e4
authored
Jul 24, 2019
by
frank.xa.zhang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed user module -- frank
parent
47cfc2df
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
94 additions
and
123 deletions
+94
-123
UserController.java
...main/java/pwc/taxtech/atms/controller/UserController.java
+2
-1
UserRoleServiceImpl.java
...va/pwc/taxtech/atms/service/impl/UserRoleServiceImpl.java
+21
-36
UserAndUserRoleSaveHKDto.java
...xtech/atms/organization/dpo/UserAndUserRoleSaveHKDto.java
+33
-0
UserAndRoleTMapper.java
.../taxtech/atms/organization/mapper/UserAndRoleTMapper.java
+13
-0
user-list.html
...n/webapp/app/admin/infrastructure/userList/user-list.html
+7
-7
user-manage-list.ctrl.js
...in/infrastructure/userManageList/user-manage-list.ctrl.js
+0
-22
user-manage-list.html
...admin/infrastructure/userManageList/user-manage-list.html
+1
-44
edit-user-modal.ctrl.js
...p/common/controls/edit-user-modal/edit-user-modal.ctrl.js
+2
-2
edit-user-modal.html
.../app/common/controls/edit-user-modal/edit-user-modal.html
+8
-8
org-selector.ctrl.js
...app/app/common/controls/org-selector/org-selector.ctrl.js
+3
-3
organizationHK.svc.js
.../main/webapp/app/common/webservices/organizationHK.svc.js
+4
-0
No files found.
atms-api/src/main/java/pwc/taxtech/atms/controller/UserController.java
View file @
a5aa64e4
...
...
@@ -16,6 +16,7 @@ import pwc.taxtech.atms.dto.permission.UserPermissionDto;
import
pwc.taxtech.atms.dto.permission.UserPermissionKeyDto
;
import
pwc.taxtech.atms.dto.user.*
;
import
pwc.taxtech.atms.entity.User
;
import
pwc.taxtech.atms.organization.dpo.UserAndUserRoleSaveHKDto
;
import
pwc.taxtech.atms.service.impl.RoleServiceImpl
;
import
pwc.taxtech.atms.service.impl.UserAccountServiceImpl
;
import
pwc.taxtech.atms.service.impl.UserRoleServiceImpl
;
...
...
@@ -83,7 +84,7 @@ public class UserController {
// @ApiOperation(value = "根据传入的用户Id获取该用户的角色机构等信息")
@RequestMapping
(
value
=
"displaySingle"
,
method
=
RequestMethod
.
GET
,
produces
=
MediaType
.
APPLICATION_JSON_UTF8_VALUE
)
public
UserAndUserRoleSaveDto
getSingleUserByUserId
(
@RequestParam
(
"userId"
)
String
userId
)
{
public
UserAndUserRoleSave
HK
Dto
getSingleUserByUserId
(
@RequestParam
(
"userId"
)
String
userId
)
{
return
userRoleService
.
getSingleUserByUserId
(
userId
);
}
...
...
atms-api/src/main/java/pwc/taxtech/atms/service/impl/UserRoleServiceImpl.java
View file @
a5aa64e4
...
...
@@ -6,50 +6,28 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.interceptor.TransactionAspectSupport
;
import
org.springframework.util.StringUtils
;
import
pwc.taxtech.atms.common.CommonConstants
;
import
pwc.taxtech.atms.common.CommonUtils
;
import
pwc.taxtech.atms.common.OperateLogType
;
import
pwc.taxtech.atms.common.OperationAction
;
import
pwc.taxtech.atms.common.OperationModule
;
import
pwc.taxtech.atms.common.RoleSourceEnum
;
import
pwc.taxtech.atms.common.UserStatus
;
import
pwc.taxtech.atms.common.*
;
import
pwc.taxtech.atms.common.message.LogMessage
;
import
pwc.taxtech.atms.common.message.UserMessage
;
import
pwc.taxtech.atms.constant.DimensionConstant
;
import
pwc.taxtech.atms.constant.UserConstant
;
import
pwc.taxtech.atms.dpo.DimensionValueOrgDto
;
import
pwc.taxtech.atms.dpo.OrganizationDto
;
import
pwc.taxtech.atms.dpo.RoleInfo
;
import
pwc.taxtech.atms.dpo.UserDto
;
import
pwc.taxtech.atms.dpo.UserOrgDto
;
import
pwc.taxtech.atms.dpo.UserOrgRoleDto
;
import
pwc.taxtech.atms.dpo.*
;
import
pwc.taxtech.atms.dpo.UserRoleQuery
;
import
pwc.taxtech.atms.dto.OperationResultDto
;
import
pwc.taxtech.atms.dto.UpdateLogParams
;
import
pwc.taxtech.atms.dto.organization.DimensionRoleDto
;
import
pwc.taxtech.atms.dto.organization.OrgCustomDto
;
import
pwc.taxtech.atms.dto.organization.OrgRoleDto
;
import
pwc.taxtech.atms.dto.organization.OrgRoleDtoList
;
import
pwc.taxtech.atms.dto.organization.SimpleRoleDto
;
import
pwc.taxtech.atms.dto.organization.*
;
import
pwc.taxtech.atms.dto.role.RoleDto
;
import
pwc.taxtech.atms.dto.user.DimensionUser
;
import
pwc.taxtech.atms.dto.user.NameDto
;
import
pwc.taxtech.atms.dto.user.OrganizationRoleInfo
;
import
pwc.taxtech.atms.dto.user.UpdateParam
;
import
pwc.taxtech.atms.dto.user.UserAndUserRoleSaveDto
;
import
pwc.taxtech.atms.dto.user.UserOrganizationDto
;
import
pwc.taxtech.atms.dto.user.UserRoleDimensionValueDto
;
import
pwc.taxtech.atms.dto.user.UserRoleDisplayInfo
;
import
pwc.taxtech.atms.dto.user.UserRoleQueryDto
;
import
pwc.taxtech.atms.dto.user.*
;
import
pwc.taxtech.atms.entity.*
;
import
pwc.taxtech.atms.entity.UserRoleExample.Criteria
;
import
pwc.taxtech.atms.exception.ApplicationException
;
import
pwc.taxtech.atms.organization.dao.OrganizationHKMapper
;
import
pwc.taxtech.atms.organization.dpo.UserAndUserRoleSaveHKDto
;
import
pwc.taxtech.atms.organization.entity.OrganizationHK
;
import
pwc.taxtech.atms.organization.mapper.UserAndRoleTMapper
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Service
...
...
@@ -285,11 +263,17 @@ public class UserRoleServiceImpl extends AbstractService {
return
organizationService
.
getDimensionValueOrgDtoList
();
}
public
UserAndUserRoleSaveDto
getSingleUserByUserId
(
String
userId
)
{
UserAndUserRoleSaveDto
userDto
=
new
UserAndUserRoleSaveDto
();
@Autowired
private
UserAndRoleTMapper
userAndRoleTMapper
;
@Resource
private
OrganizationHKMapper
organizationHKMapper
;
public
UserAndUserRoleSaveHKDto
getSingleUserByUserId
(
String
userId
)
{
UserAndUserRoleSaveHKDto
userDto
=
new
UserAndUserRoleSaveHKDto
();
User
user
=
userMapper
.
selectByPrimaryKey
(
userId
);
if
(
user
!=
null
)
{
userDto
=
CommonUtils
.
copyProperties
(
user
,
new
UserAndUserRoleSaveDto
()
);
userDto
=
userAndRoleTMapper
.
toUserAndUserRoleSaveHKDto
(
user
);
// get role list by user
List
<
Map
<
String
,
String
>>
query
=
myUserMapper
.
selectUserRoleListByUserId
(
userId
).
stream
().
distinct
()
.
collect
(
Collectors
.
toList
());
...
...
@@ -304,8 +288,9 @@ public class UserRoleServiceImpl extends AbstractService {
userDto
.
setRoleIds
(
arrUserRole
);
userDto
.
setRoleNames
(
arrUserRoleName
);
// get org name
Organization
org
=
organizationMapper
.
selectByPrimaryKey
(
user
.
getOrganizationId
(
));
Organization
HK
org
=
organizationHKMapper
.
selectByPrimaryKey
(
Long
.
valueOf
(
user
.
getOrganizationId
()
));
if
(
org
!=
null
)
{
userDto
.
setOrganizationId
(
user
.
getOrganizationId
());
userDto
.
setOrgName
(
org
.
getName
());
}
}
...
...
atms-dao/src/main/java/pwc/taxtech/atms/organization/dpo/UserAndUserRoleSaveHKDto.java
0 → 100644
View file @
a5aa64e4
package
pwc
.
taxtech
.
atms
.
organization
.
dpo
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.Date
;
import
java.util.List
;
@Getter
@Setter
public
class
UserAndUserRoleSaveHKDto
{
@JsonProperty
(
"ID"
)
private
String
id
;
private
String
userName
;
private
String
email
;
private
String
password
;
private
Integer
loginType
;
private
Integer
status
;
private
Date
expirationDate
;
private
Date
createTime
;
private
Date
updateTime
;
private
Boolean
isAdmin
;
private
Date
passwordUpdateTime
;
private
Integer
attemptTimes
;
private
Date
lockedTime
;
@JsonProperty
(
"organizationID"
)
private
String
organizationId
;
private
String
orgName
;
@JsonProperty
(
"roleIDs"
)
private
List
<
String
>
roleIds
;
private
List
<
String
>
roleNames
;
}
atms-dao/src/main/java/pwc/taxtech/atms/organization/mapper/UserAndRoleTMapper.java
0 → 100644
View file @
a5aa64e4
package
pwc
.
taxtech
.
atms
.
organization
.
mapper
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
import
pwc.taxtech.atms.entity.User
;
import
pwc.taxtech.atms.organization.dpo.UserAndUserRoleSaveHKDto
;
@Mapper
(
componentModel
=
"spring"
)
public
interface
UserAndRoleTMapper
{
UserAndRoleTMapper
USER_AND_ROLE_T_MAPPER
=
Mappers
.
getMapper
(
UserAndRoleTMapper
.
class
);
UserAndUserRoleSaveHKDto
toUserAndUserRoleSaveHKDto
(
User
user
);
}
atms-web/src/main/webapp/app/admin/infrastructure/userList/user-list.html
View file @
a5aa64e4
...
...
@@ -8,21 +8,21 @@
<div
class=
"content-container"
>
<div
class=
"header"
>
<button
ng-if=
"hasAddPermission"
type=
"button"
class=
"btn btn-in-grid"
ng-click=
"createUser()"
><i
class=
"material-icons middle icon-add"
>
add_circle_outline
</i>
{{'CreateUser' | translate }}
</button>
<div
class=
"align-right"
style=
"margin-top:5px;"
>
<!--<button class="btn btn-export" type="button" ng-click="" translate="Export"></button>-->
<!--<export-button style="float: right; margin-left: 0px; margin-top: 7px"><export-button>-->
</div>
<div
class=
"right-operate "
>
<!-- board展示 -->
<a
class=
"display-user"
href=
"#/user"
><i
class=
"fa fa-th"
aria-hidden=
"true"
></i></a><a
class=
"display-user border-left active"
>
<!-- list展示 -->
<i
class=
"fa fa-list-ul"
aria-hidden=
"true"
></i></a>
</div>
<!-- board展示 -->
<a
class=
"display-user"
href=
"#/user"
><i
class=
"fa fa-th"
aria-hidden=
"true"
></i></a><a
class=
"display-user border-left active"
>
<!-- list展示 -->
<i
class=
"fa fa-list-ul"
aria-hidden=
"true"
></i></a>
</div>
</div>
<div
class=
"user-grid"
>
<span
style=
"margin-left:30px; position: absolute;left: 249px;top: 132px;z-index: 999;"
>
{{'TotalHave'| translate}}
<span
style=
"color:red; padding:0px 2px"
>
{{totalCount}}
</span>
{{'Records'| translate}}
</span>
<span
style=
"margin-left:30px; position: absolute;left: 249px;top: 132px;z-index: 999;"
>
{{'TotalHave'| translate}}
<span
style=
"color:red; padding:0px 2px"
>
{{totalCount}}
</span>
{{'Records'| translate}}
</span>
<div
class=
"dx-viewport grid-container"
>
<div
id=
"userGridContainer"
dx-data-grid=
"userTreeOptions"
></div>
</div>
...
...
atms-web/src/main/webapp/app/admin/infrastructure/userManageList/user-manage-list.ctrl.js
View file @
a5aa64e4
...
...
@@ -617,28 +617,6 @@
}
}
// 事业部筛选
// if ($scope.selectBusinessUnitList && $scope.selectBusinessUnitList.length > 0) {
// var query = _.filter($scope.selectBusinessUnitList, function (row) {
// return row.ID === user.businessUnitID;
// });
//
// if (!query || query.length === 0) {
// continue;
// }
// }
// 区域
// if ($scope.selectAreaList && $scope.selectAreaList.length > 0) {
// var query = _.filter($scope.selectAreaList, function (row) {
// return row.ID === user.areaID;
// });
//
// if (!query || query.length === 0) {
// continue;
// }
// }
// 角色筛选
if
(
$scope
.
selectRoleList
&&
$scope
.
selectRoleList
.
length
>
0
)
{
var
roleIdList
=
_
.
pluck
(
user
.
roleInfoList
,
'ID'
);
...
...
atms-web/src/main/webapp/app/admin/infrastructure/userManageList/user-manage-list.html
View file @
a5aa64e4
...
...
@@ -48,38 +48,6 @@
</div>
</div>
</div>
<!--事业部-->
<!--<div class="dimension-block">-->
<!--<div class="text-location" ng-click="showMoreBusinessUnitClick()">-->
<!--<span class="text-title" translate="FieldbusinessUnitName"></span>-->
<!--<span class="show-more">-->
<!--<i class="fa fa-angle-down" aria-hidden="true" ng-show="!showMoreBusinessUnit"></i>-->
<!--<i class="fa fa-angle-up" aria-hidden="true" ng-show="showMoreBusinessUnit"></i>-->
<!--</span>-->
<!--</div>-->
<!--<div class="list-container" ng-class="{false:'show-less',true:''}[showMoreBusinessUnit]">-->
<!--<div ng-repeat="x in businessUnitList" class="business-item" ng-class="{true:'active',false:''}[x.selected]" ng-click="singleClickBusinessUnit(x)">-->
<!--<span title="{{x.name}}">{{x.name | limitString:20}}</span>-->
<!--<span ng-if="x.isShowCount" class="label-count">{{x.count}}</span>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!-- 区域 -->
<!--<div class="dimension-block">-->
<!--<div class="text-location" ng-click="showMoreAreaToggle()">-->
<!--<span class="text-title" translate="OrgArea"></span>-->
<!--<span class="show-more">-->
<!--<i class="fa fa-angle-down" aria-hidden="true" ng-show="!showMoreArea"></i>-->
<!--<i class="fa fa-angle-up" aria-hidden="true" ng-show="showMoreArea"></i>-->
<!--</span>-->
<!--</div>-->
<!--<div class="list-container" ng-class="{false:'show-less',true:''}[showMoreArea]">-->
<!--<div ng-repeat="x in areaList" class="business-item" class="business-item" ng-class="{true:'active',false:''}[x.selected]" ng-click="singleClickArea(x)">-->
<!--<span title="{{x.name}}">{{x.name | limitString:20}}</span>-->
<!--<span ng-if="x.isShowCount" class="label-count">{{x.count}}</span>-->
<!--</div>-->
<!--</div>-->
<!--</div>-->
<!--角色-->
<div
class=
"dimension-block"
>
<div
class=
"text-location"
ng-click=
"showMoreRoleToggle()"
>
...
...
@@ -119,16 +87,6 @@
{{'ProjectCompanyCol'|translate}}:{{x.label}}
<span
ng-click=
"singleClickOrg(x)"
>
×
</span>
</div>
<!-- 选择事业部 -->
<!--<div class="query-item" ng-repeat="x in selectBusinessUnitList ">-->
<!--{{'FieldbusinessUnitName'|translate}}:{{x.name}}-->
<!--<span ng-click="singleClickBusinessUnit(x)">×</span>-->
<!--</div>-->
<!-- 选择区域 -->
<!--<div class="query-item" ng-repeat="x in selectAreaList ">-->
<!--{{'OrgArea'|translate}}:{{x.name}}-->
<!--<span ng-click="singleClickArea(x)">×</span>-->
<!--</div>-->
<!-- 选择角色 -->
<div
class=
"query-item"
ng-repeat=
"x in selectRoleList "
>
{{'RoleDesc'|translate}}:{{x.label}}
...
...
@@ -232,8 +190,7 @@
<
i
class
=
"fa fa-plus tree-i"
aria
-
hidden
=
"true"
ng
-
click
=
"toggle(this)"
ng
-
class
=
"{hidden: !collapsed}"
><
/i
>
<
i
class
=
"fa fa-minus tree-i"
aria
-
hidden
=
"true"
ng
-
click
=
"toggle(this)"
ng
-
class
=
"{hidden: collapsed}"
><
/i
>
<
/div
>
<
div
class
=
"tree-role-item"
ng
-
class
=
"{true:'tree-item-select',false:''}[role.selected]"
ng
-
click
=
"singleClickRole
(role)"
>
<
div
class
=
"tree-role-item"
ng
-
class
=
"{true:'tree-item-select',false:''}[role.selected]"
ng
-
click
=
"singleClickRole(role)"
>
<
span
title
=
"{{role.label}}"
>
{{
role
.
label
|
limitString
:
20
}}
<
/span
>
<
span
ng
-
if
=
"role.isShowCount"
class
=
"label-count"
>
{{
role
.
count
}}
<
/span
>
<
/div
>
...
...
atms-web/src/main/webapp/app/common/controls/edit-user-modal/edit-user-modal.ctrl.js
View file @
a5aa64e4
...
...
@@ -9,8 +9,8 @@ controller('editUserModalController', ['$scope', '$log', '$translate', 'uiGridCo
$scope
.
editUserModel
.
isAdmin
=
false
;
//按滴滴需求设置用户所属机构默认为滴滴集团
$scope
.
editUserModel
.
OrganizationID
=
"
BCFA0E77-9F6B-42B3-A486-A003536832CF
"
;
$scope
.
editUserModel
.
orgName
=
"滴滴集团"
;
$scope
.
editUserModel
.
OrganizationID
=
"
140525724258930688
"
;
//
$scope.editUserModel.orgName = "滴滴集团";
resetErrorStatus
();
$
(
'.edit-user-modal-wrapper .modal'
).
modal
(
'show'
);
...
...
atms-web/src/main/webapp/app/common/controls/edit-user-modal/edit-user-modal.html
View file @
a5aa64e4
...
...
@@ -33,15 +33,15 @@
ng-model=
"editUserModel.Email"
required
>
</div>
</div>
<
div
class=
"form-group"
>
<
label
class=
"control-label col-sm-3"
><span
class=
"red-color"
>
*
</span><span
translate=
"Company"
></label
>
<
div
class=
"col-sm-9"
>
<
!--<div class="form-group">--
>
<
!--<label class="control-label col-sm-3"><span class="red-color">*</span><span translate="Company"></label>--
>
<
!--<div class="col-sm-9">--
>
<!--<input id="orgName" type="text" name="orgName" maxlength="100" class="form-control" style="width: 300px;" ng-model="editUserModel.orgName" readonly="readonly" required>-->
<
org-selector
selected-org-name=
"editUserModel.OrgName"
selected-org-id=
"editUserModel.OrganizationID"
component-selected-org=
""
is-show-all=
"false"
is-require=
"true"
style=
"width: 300px;"
></org-selector
>
<
label
class=
"error-label"
style=
"font-size:12px;"
ng-show=
"editUserModel.organizationIDError"
>
{{editUserModel.organizationIDError}}
</label
>
<
/div
>
<
/div
>
<
!--<org-selector selected-org-name="editUserModel.OrgName" selected-org-id="editUserModel.OrganizationID" component-selected-org="" is-show-all="false" is-require="true"-->
<!--style="width: 300px;"></org-selector>--
>
<
!--<label class="error-label" style="font-size:12px;" ng-show="editUserModel.organizationIDError">{{editUserModel.organizationIDError}}</label>--
>
<
!--</div>--
>
<
!--</div>--
>
<div
class=
"form-group"
>
<label
class=
"control-label col-sm-3"
translate=
"DefaultRole"
></label>
<div
class=
"col-sm-9"
>
...
...
atms-web/src/main/webapp/app/common/controls/org-selector/org-selector.ctrl.js
View file @
a5aa64e4
commonModule
.
controller
(
'orgSelectorController'
,
[
'$scope'
,
'orgService'
,
'$translate'
,
'userService'
,
'loginContext'
,
function
(
$scope
,
orgService
,
$translate
,
userService
,
loginContext
)
{
commonModule
.
controller
(
'orgSelectorController'
,
[
'$scope'
,
'orgService'
,
'$translate'
,
'userService'
,
'loginContext'
,
'orgHKService'
,
function
(
$scope
,
orgService
,
$translate
,
userService
,
loginContext
,
orgHKService
)
{
var
NoOptions
=
{
'id'
:
constant
.
organization
.
parentIdNull
,
...
...
@@ -16,7 +16,7 @@ function ($scope, orgService, $translate, userService, loginContext) {
$scope
.
isAdminUser
=
false
;
var
useType
=
$scope
.
isShowAll
?
1
:
0
;
orgService
.
getOrgList
(
useType
).
success
(
function
(
data
)
{
org
HK
Service
.
getOrgList
(
useType
).
success
(
function
(
data
)
{
if
(
data
&&
data
.
length
>
0
)
{
if
(
$scope
.
selectNoOption
)
{
data
.
splice
(
0
,
0
,
NoOptions
);
...
...
atms-web/src/main/webapp/app/common/webservices/organizationHK.svc.js
View file @
a5aa64e4
...
...
@@ -58,6 +58,9 @@ webservices.factory('orgHKService', ['$http', 'apiConfig', function ($http, apiC
// },
getOrgTreeData
:
function
(
orgId
)
{
return
$http
.
get
(
'/orgHK/getOrgTreeData?orgId='
+
orgId
,
apiConfig
.
create
());
},
getOrgList
:
function
(
type
)
{
return
$http
.
get
(
'/org/display?useType='
+
type
,
apiConfig
.
create
());
}
}
}]);
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment