正在显示
11 个修改的文件
包含
78 行增加
和
9 行删除
@@ -41,6 +41,10 @@ type CreateUserCommand struct { | @@ -41,6 +41,10 @@ type CreateUserCommand struct { | ||
41 | Avatar string `cname:"头像" json:"avatar"` | 41 | Avatar string `cname:"头像" json:"avatar"` |
42 | // 邮箱 | 42 | // 邮箱 |
43 | Email string `cname:"邮箱" json:"email"` | 43 | Email string `cname:"邮箱" json:"email"` |
44 | + // 员工类型 1:固定 2:派遣 3.临时 | ||
45 | + EmployeeType int `cname:"员工类型" json:"employeeType" valid:"Required"` | ||
46 | + // IC卡号 | ||
47 | + IcCardNumber string `cname:"IC卡号" json:"icCardNumber,omitempty"` | ||
44 | 48 | ||
45 | // 运营管理扩展 | 49 | // 运营管理扩展 |
46 | // 部门 | 50 | // 部门 |
@@ -36,6 +36,10 @@ type UpdateUserCommand struct { | @@ -36,6 +36,10 @@ type UpdateUserCommand struct { | ||
36 | Avatar string `cname:"头像" json:"avatar"` | 36 | Avatar string `cname:"头像" json:"avatar"` |
37 | // 邮箱 | 37 | // 邮箱 |
38 | Email string `cname:"邮箱" json:"email"` | 38 | Email string `cname:"邮箱" json:"email"` |
39 | + // 员工类型 1:固定 2:派遣 3.临时 | ||
40 | + EmployeeType int `name:"员工类型" json:"employeeType" valid:"Required"` | ||
41 | + // IC卡号 | ||
42 | + IcCardNumber string `json:"icCardNumber,omitempty"` | ||
39 | 43 | ||
40 | // 运营管理扩展 | 44 | // 运营管理扩展 |
41 | // 部门 | 45 | // 部门 |
@@ -71,9 +71,14 @@ func (dto *UserDto) LoadDto(user *domain.User, company *domain.Company) error { | @@ -71,9 +71,14 @@ func (dto *UserDto) LoadDto(user *domain.User, company *domain.Company) error { | ||
71 | } | 71 | } |
72 | if user.UserInfo == nil { | 72 | if user.UserInfo == nil { |
73 | dto.UserInfo = &domain.UserInfo{ | 73 | dto.UserInfo = &domain.UserInfo{ |
74 | - UserName: user.Ext.UserName, | ||
75 | - Phone: user.Ext.Phone, | 74 | + UserName: user.Ext.UserName, |
75 | + Phone: user.Ext.Phone, | ||
76 | + IcCardNumber: user.Ext.IcCardNumber, | ||
77 | + EmployeeType: user.Ext.EmployeeType, | ||
76 | } | 78 | } |
79 | + } else { | ||
80 | + dto.UserInfo.IcCardNumber = user.Ext.IcCardNumber | ||
81 | + dto.UserInfo.EmployeeType = user.Ext.EmployeeType | ||
77 | } | 82 | } |
78 | if len(dto.UserRole) == 0 { | 83 | if len(dto.UserRole) == 0 { |
79 | dto.UserRole = make([]*domain.Role, 0) | 84 | dto.UserRole = make([]*domain.Role, 0) |
@@ -271,9 +271,11 @@ func (userService *UserService) CreateUser(createUserCommand *command.CreateUser | @@ -271,9 +271,11 @@ func (userService *UserService) CreateUser(createUserCommand *command.CreateUser | ||
271 | UserInfo: nweUserInfo, | 271 | UserInfo: nweUserInfo, |
272 | EnableStatus: createUserCommand.EnableStatus, | 272 | EnableStatus: createUserCommand.EnableStatus, |
273 | Ext: &domain.Ext{ | 273 | Ext: &domain.Ext{ |
274 | - Phone: createUserCommand.Phone, | ||
275 | - UserName: createUserCommand.UserName, | ||
276 | - DepName: createUserCommand.DepartmentName, | 274 | + Phone: createUserCommand.Phone, |
275 | + UserName: createUserCommand.UserName, | ||
276 | + DepName: createUserCommand.DepartmentName, | ||
277 | + IcCardNumber: createUserCommand.IcCardNumber, | ||
278 | + EmployeeType: createUserCommand.EmployeeType, | ||
277 | }, | 279 | }, |
278 | CreatedAt: time.Now(), | 280 | CreatedAt: time.Now(), |
279 | UpdatedAt: time.Now(), | 281 | UpdatedAt: time.Now(), |
@@ -705,7 +707,7 @@ func (userService *UserService) UpdateUser(updateUserCommand *command.UpdateUser | @@ -705,7 +707,7 @@ func (userService *UserService) UpdateUser(updateUserCommand *command.UpdateUser | ||
705 | defer func() { | 707 | defer func() { |
706 | transactionContext.RollbackTransaction() | 708 | transactionContext.RollbackTransaction() |
707 | }() | 709 | }() |
708 | - _, user, err := factory.FastPgUser(transactionContext, updateUserCommand.UserId, factory.WithDataAuthRequired(), factory.WithOperator(updateUserCommand.OperateInfo)) | 710 | + _, user, err := factory.FastPgUser(transactionContext, updateUserCommand.UserId, factory.WithOperator(updateUserCommand.OperateInfo)) //, factory.WithDataAuthRequired() |
709 | if err != nil { | 711 | if err != nil { |
710 | return nil, err | 712 | return nil, err |
711 | } | 713 | } |
@@ -729,6 +731,8 @@ func (userService *UserService) UpdateUser(updateUserCommand *command.UpdateUser | @@ -729,6 +731,8 @@ func (userService *UserService) UpdateUser(updateUserCommand *command.UpdateUser | ||
729 | Email: updateUserCommand.Email, | 731 | Email: updateUserCommand.Email, |
730 | DepartmentName: updateUserCommand.DepartmentName, | 732 | DepartmentName: updateUserCommand.DepartmentName, |
731 | } | 733 | } |
734 | + user.Ext.EmployeeType = updateUserCommand.EmployeeType | ||
735 | + user.Ext.IcCardNumber = updateUserCommand.IcCardNumber | ||
732 | 736 | ||
733 | updateUserService, _ := factory.CreatePgUpdateUserService(map[string]interface{}{ | 737 | updateUserService, _ := factory.CreatePgUpdateUserService(map[string]interface{}{ |
734 | "transactionContext": transactionContext, | 738 | "transactionContext": transactionContext, |
@@ -12,4 +12,9 @@ type Ext struct { | @@ -12,4 +12,9 @@ type Ext struct { | ||
12 | DepName string `json:"depName,omitempty"` | 12 | DepName string `json:"depName,omitempty"` |
13 | // 父级部门名称 | 13 | // 父级部门名称 |
14 | ParentDepName string `json:"parentDepName,omitempty"` | 14 | ParentDepName string `json:"parentDepName,omitempty"` |
15 | + | ||
16 | + // 员工类型 1:固定 2:派遣 3.临时 | ||
17 | + EmployeeType int `json:"employeeType,omitempty"` | ||
18 | + // IC卡号 | ||
19 | + IcCardNumber string `json:"icCardNumber,omitempty"` | ||
15 | } | 20 | } |
@@ -314,6 +314,10 @@ type BatchAddUserItem struct { | @@ -314,6 +314,10 @@ type BatchAddUserItem struct { | ||
314 | CooperationCompany string `json:"cooperationCompany"` | 314 | CooperationCompany string `json:"cooperationCompany"` |
315 | // 共创到期时间 (yyyy-MM-dd) cooperationDeadline | 315 | // 共创到期时间 (yyyy-MM-dd) cooperationDeadline |
316 | CooperationDeadline string `json:"cooperationDeadline"` | 316 | CooperationDeadline string `json:"cooperationDeadline"` |
317 | + // 员工类型 1:固定 2:派遣 3.临时 | ||
318 | + EmployeeType string `json:"employeeType,omitempty"` | ||
319 | + // IC卡号 | ||
320 | + IcCardNumber string `json:"icCardNumber,omitempty"` | ||
317 | 321 | ||
318 | // 失败理由 | 322 | // 失败理由 |
319 | FailReason string `json:"failReason"` | 323 | FailReason string `json:"failReason"` |
@@ -328,3 +332,16 @@ func (item *BatchAddUserItem) Status() int { | @@ -328,3 +332,16 @@ func (item *BatchAddUserItem) Status() int { | ||
328 | } | 332 | } |
329 | return 1 | 333 | return 1 |
330 | } | 334 | } |
335 | + | ||
336 | +func (item *BatchAddUserItem) GetEmployeeType() int { | ||
337 | + if item.EmployeeType == "固定" { | ||
338 | + return 1 | ||
339 | + } | ||
340 | + if item.EmployeeType == "派遣" { | ||
341 | + return 2 | ||
342 | + } | ||
343 | + if item.EmployeeType == "临时" { | ||
344 | + return 3 | ||
345 | + } | ||
346 | + return 1 | ||
347 | +} |
@@ -11,6 +11,11 @@ type UserInfo struct { | @@ -11,6 +11,11 @@ type UserInfo struct { | ||
11 | // 邮箱 | 11 | // 邮箱 |
12 | Email string `json:"email,omitempty"` | 12 | Email string `json:"email,omitempty"` |
13 | 13 | ||
14 | + // 员工类型 1:固定 2:派遣 3.临时 | ||
15 | + EmployeeType int `json:"employeeType,omitempty"` | ||
16 | + // IC卡号 | ||
17 | + IcCardNumber string `json:"icCardNumber,omitempty"` | ||
18 | + | ||
14 | Referer string `json:"-"` | 19 | Referer string `json:"-"` |
15 | // 部门 | 20 | // 部门 |
16 | DepartmentName string `cname:"部门" json:"-"` | 21 | DepartmentName string `cname:"部门" json:"-"` |
@@ -139,9 +139,11 @@ func (ptr *PgBatchAddUserService) BatchAddUser2(optUser *domain.OperateInfo, use | @@ -139,9 +139,11 @@ func (ptr *PgBatchAddUserService) BatchAddUser2(optUser *domain.OperateInfo, use | ||
139 | }, | 139 | }, |
140 | EnableStatus: user.Status(), | 140 | EnableStatus: user.Status(), |
141 | Ext: &domain.Ext{ | 141 | Ext: &domain.Ext{ |
142 | - Phone: user.Phone, | ||
143 | - UserName: user.UserName, | ||
144 | - OrgName: org.OrgName, | 142 | + Phone: user.Phone, |
143 | + UserName: user.UserName, | ||
144 | + OrgName: org.OrgName, | ||
145 | + EmployeeType: user.GetEmployeeType(), | ||
146 | + IcCardNumber: user.IcCardNumber, | ||
145 | }, | 147 | }, |
146 | CreatedAt: time.Now(), | 148 | CreatedAt: time.Now(), |
147 | UpdatedAt: time.Now(), | 149 | UpdatedAt: time.Now(), |
@@ -202,6 +204,12 @@ func (ptr *PgBatchAddUserService) preCheck2(user *domain.BatchAddUserItem) error | @@ -202,6 +204,12 @@ func (ptr *PgBatchAddUserService) preCheck2(user *domain.BatchAddUserItem) error | ||
202 | if len(user.Phone) == 0 || len(user.Phone) != 11 { | 204 | if len(user.Phone) == 0 || len(user.Phone) != 11 { |
203 | return fmt.Errorf("导入的手机号不是有效手机号") | 205 | return fmt.Errorf("导入的手机号不是有效手机号") |
204 | } | 206 | } |
207 | + if len(user.EmployeeType) == 0 { | ||
208 | + return fmt.Errorf("导入的员工类型为空值") | ||
209 | + } | ||
210 | + if !(user.EmployeeType == "固定" || user.EmployeeType == "派遣" || user.EmployeeType == "临时") { | ||
211 | + return fmt.Errorf("导入的员工类型有误") | ||
212 | + } | ||
205 | return nil | 213 | return nil |
206 | } | 214 | } |
207 | 215 |
@@ -68,6 +68,13 @@ func (ptr *PgCreateUserService) CreateUser(optUser *domain.User, newUser *domain | @@ -68,6 +68,13 @@ func (ptr *PgCreateUserService) CreateUser(optUser *domain.User, newUser *domain | ||
68 | } | 68 | } |
69 | } | 69 | } |
70 | 70 | ||
71 | + // 判断企业内IC卡号唯一 | ||
72 | + if len(newUser.Ext.IcCardNumber) > 0 { | ||
73 | + if u, e := userRepository.FindOne(map[string]interface{}{"companyId": newUser.CompanyId, "icCardNumber": newUser.Ext.IcCardNumber}); e == nil && u != nil { | ||
74 | + return nil, fmt.Errorf("IC卡号在该企业内已存在,请重新输入") | ||
75 | + } | ||
76 | + } | ||
77 | + | ||
71 | // 3.建账号 | 78 | // 3.建账号 |
72 | if userBase == nil { | 79 | if userBase == nil { |
73 | createUserAccountService, _ := NewPgCreateUserAccountService(ptr.transactionContext) | 80 | createUserAccountService, _ := NewPgCreateUserAccountService(ptr.transactionContext) |
@@ -80,6 +80,13 @@ func (ptr *PgUpdateUserService) UpdateUser(optUser *domain.OperateInfo, user *do | @@ -80,6 +80,13 @@ func (ptr *PgUpdateUserService) UpdateUser(optUser *domain.OperateInfo, user *do | ||
80 | return nil, fmt.Errorf("用户编号在该企业内已存在,请重新输入") | 80 | return nil, fmt.Errorf("用户编号在该企业内已存在,请重新输入") |
81 | } | 81 | } |
82 | 82 | ||
83 | + // 判断企业内IC卡号唯一 | ||
84 | + if len(user.Ext.IcCardNumber) > 0 { | ||
85 | + if u, e := userRepository.FindOne(map[string]interface{}{"companyId": user.CompanyId, "icCardNumber": user.Ext.IcCardNumber}); e == nil && u != nil && u.UserId != user.UserId { | ||
86 | + return nil, fmt.Errorf("IC卡号在该企业内已存在,请重新输入") | ||
87 | + } | ||
88 | + } | ||
89 | + | ||
83 | user.UserRole = userRole | 90 | user.UserRole = userRole |
84 | user.UserOrg = userOrg | 91 | user.UserOrg = userOrg |
85 | if org != nil { | 92 | if org != nil { |
@@ -92,6 +99,8 @@ func (ptr *PgUpdateUserService) UpdateUser(optUser *domain.OperateInfo, user *do | @@ -92,6 +99,8 @@ func (ptr *PgUpdateUserService) UpdateUser(optUser *domain.OperateInfo, user *do | ||
92 | } | 99 | } |
93 | user.Ext.Phone = userBase.UserInfo.Phone | 100 | user.Ext.Phone = userBase.UserInfo.Phone |
94 | user.Ext.UserName = userBase.UserInfo.UserName | 101 | user.Ext.UserName = userBase.UserInfo.UserName |
102 | + //user.Ext.EmployeeType = userInfo.EmployeeType | ||
103 | + //user.Ext.IcCardNumber = userInfo.IcCardNumber | ||
95 | user.UpdatedAt = time.Now() | 104 | user.UpdatedAt = time.Now() |
96 | if err = user.SetEnableStatus(enableStatus); err != nil { | 105 | if err = user.SetEnableStatus(enableStatus); err != nil { |
97 | return nil, err | 106 | return nil, err |
@@ -169,6 +169,7 @@ func (repository *UserRepository) FindOne(queryOptions map[string]interface{}) ( | @@ -169,6 +169,7 @@ func (repository *UserRepository) FindOne(queryOptions map[string]interface{}) ( | ||
169 | query.SetWhereByQueryOption("user_code = ?", "userCode") | 169 | query.SetWhereByQueryOption("user_code = ?", "userCode") |
170 | query.SetWhereByQueryOption("user_id != ?", "notEqualUserId") | 170 | query.SetWhereByQueryOption("user_id != ?", "notEqualUserId") |
171 | query.SetWhereByQueryOption("user_type & ? > 0", "userType") | 171 | query.SetWhereByQueryOption("user_type & ? > 0", "userType") |
172 | + query.SetWhereByQueryOption("ext->>'icCardNumber'=?", "icCardNumber") | ||
172 | if err := query.First(); err != nil { | 173 | if err := query.First(); err != nil { |
173 | if err.Error() == "pg: no rows in result set" { | 174 | if err.Error() == "pg: no rows in result set" { |
174 | return nil, fmt.Errorf("没有此资源") | 175 | return nil, fmt.Errorf("没有此资源") |
-
请 注册 或 登录 后发表评论