...
|
...
|
@@ -2,6 +2,8 @@ package service |
|
|
|
|
|
import (
|
|
|
"fmt"
|
|
|
"strings"
|
|
|
|
|
|
"github.com/linmadan/egglib-go/core/application"
|
|
|
"github.com/linmadan/egglib-go/utils/excel"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/application/web/excelData/command"
|
...
|
...
|
@@ -9,7 +11,6 @@ import ( |
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/domain"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/domainService"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway/allied_creation_user"
|
|
|
"strings"
|
|
|
)
|
|
|
|
|
|
type ExcelDataService struct {
|
...
|
...
|
@@ -119,58 +120,60 @@ func (srv ExcelDataService) ImportCompanyUser2(importDataCommand *command.Import |
|
|
|
|
|
// ImportCooperationUser 导入共创用户信息
|
|
|
func (srv ExcelDataService) ImportCooperationUser(importDataCommand *command.ImportDataCommand) (interface{}, error) {
|
|
|
//initPassword, _, err := domainService.GetInitPassword(importDataCommand.Operator)
|
|
|
//if err != nil {
|
|
|
// return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
//}
|
|
|
//excelImport := excel.NewExcelImport()
|
|
|
//excelImport.RowBegin = 2 //第二行开始读取
|
|
|
//excelImport.DataFields = []excel.DataField{
|
|
|
// {EnName: "UserCode", CnName: "*用户编号"},
|
|
|
// {EnName: "UserName", CnName: "*用户姓名"},
|
|
|
// {EnName: "CooperationCompany", CnName: "*合伙公司"},
|
|
|
// {EnName: "CooperationDeadline", CnName: "*合伙到期"},
|
|
|
// {EnName: "Phone", CnName: "*手机号"},
|
|
|
// {EnName: "Email", CnName: "邮箱"},
|
|
|
//}
|
|
|
//excelData, err := excelImport.OpenExcelFromIoReader(importDataCommand.Reader)
|
|
|
//if err != nil {
|
|
|
// return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
//}
|
|
|
//users := make([]allied_creation_user.BatchAddUserItem, 0)
|
|
|
//var fail int
|
|
|
//for _, v := range excelData {
|
|
|
// item := allied_creation_user.BatchAddUserItem{
|
|
|
// CompanyID: importDataCommand.Operator.CompanyId,
|
|
|
// UserType: domain.UserTypeCooperation,
|
|
|
// UserCode: v["UserCode"],
|
|
|
// OrganizationID: int(importDataCommand.Operator.OrgId),
|
|
|
// UserInfo: allied_creation_user.BatchAddUserItemUserInfo{
|
|
|
// UserName: v["UserName"],
|
|
|
// Phone: v["Phone"],
|
|
|
// Email: v["Email"],
|
|
|
// },
|
|
|
// CooperationInfo: allied_creation_user.BatchAddUserItemCooperationInfo{
|
|
|
// CooperationCompany: v["CooperationCompany"],
|
|
|
// },
|
|
|
// }
|
|
|
// item.CooperationInfo.CooperationDeadline, err = time.Parse("2006-01-02", v["CooperationDeadline"])
|
|
|
// if err != nil {
|
|
|
// fail++
|
|
|
// continue
|
|
|
// }
|
|
|
// users = append(users, item)
|
|
|
//}
|
|
|
//userGateway := allied_creation_user.NewHttplibAlliedCreationUser(importDataCommand.Operator)
|
|
|
//result, err := userGateway.UserBatchAdd(allied_creation_user.ReqBatchAddUser{
|
|
|
// Users: users,
|
|
|
// Password: initPassword,
|
|
|
//})
|
|
|
//if err != nil {
|
|
|
// return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
//}
|
|
|
//return result, nil
|
|
|
return nil, nil
|
|
|
initPassword, _, err := domainService.GetInitPassword(importDataCommand.Operator)
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
userGateway := allied_creation_user.NewHttplibAlliedCreationUser(importDataCommand.Operator)
|
|
|
orgResult, err := userGateway.OrgGet(allied_creation_user.ReqOrgGet{
|
|
|
OrgId: int(importDataCommand.Operator.OrgId),
|
|
|
})
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
|
|
|
}
|
|
|
excelImport := excel.NewExcelImport()
|
|
|
excelImport.RowBegin = 3 //第二行开始读取
|
|
|
excelImport.DataFields = []excel.DataField{
|
|
|
{EnName: "userCode", CnName: "*用户编码"},
|
|
|
{EnName: "userName", CnName: "*用户姓名"},
|
|
|
{EnName: "cooperationCompany", CnName: "*合伙公司"},
|
|
|
{EnName: "cooperationDeadline", CnName: "*合伙到期"},
|
|
|
{EnName: "enableStatus", CnName: "*用户状态"},
|
|
|
{EnName: "phone", CnName: "*手机号"},
|
|
|
{EnName: "email", CnName: "邮箱"},
|
|
|
}
|
|
|
excelData, err := excelImport.OpenExcelFromIoReader(importDataCommand.Reader)
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
users := make([]allied_creation_user.BatchAddUserItem, 0)
|
|
|
for _, v := range excelData {
|
|
|
if srv.fieldValueAllEmpty(v) {
|
|
|
continue
|
|
|
}
|
|
|
item := allied_creation_user.BatchAddUserItem{
|
|
|
CompanyId: importDataCommand.Operator.CompanyId,
|
|
|
UserType: domain.UserTypeCooperation,
|
|
|
UserCode: v["userCode"],
|
|
|
Org: orgResult.OrgCode,
|
|
|
UserName: strings.TrimSpace(v["userName"]),
|
|
|
Phone: strings.TrimSpace(v["phone"]),
|
|
|
Email: strings.TrimSpace(v["email"]),
|
|
|
EnableStatus: strings.TrimSpace(v["enableStatus"]),
|
|
|
CooperationCompany: v["cooperationCompany"],
|
|
|
CooperationDeadline: v["cooperationDeadline"],
|
|
|
}
|
|
|
users = append(users, item)
|
|
|
}
|
|
|
|
|
|
result, err := userGateway.UserBatchAdd(allied_creation_user.ReqBatchAddUser{
|
|
|
Users: users,
|
|
|
Password: initPassword,
|
|
|
})
|
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
return srv.importResultWithHeader(excelImport.DataFields, result.FailRows, len(users)), nil
|
|
|
}
|
|
|
|
|
|
// ImportCompanyUser 导入公司用户信息
|
...
|
...
|
@@ -182,13 +185,13 @@ func (srv ExcelDataService) ImportCompanyUser(importDataCommand *command.ImportD |
|
|
excelImport := excel.NewExcelImport()
|
|
|
excelImport.RowBegin = 3 //第二行开始读取
|
|
|
excelImport.DataFields = []excel.DataField{
|
|
|
{EnName: "userCode", CnName: "*用户编号"},
|
|
|
{EnName: "userCode", CnName: "*用户编码"},
|
|
|
{EnName: "userName", CnName: "*用户姓名"},
|
|
|
{EnName: "org", CnName: "*组织机构"},
|
|
|
{EnName: "department", CnName: "*所属部门"},
|
|
|
{EnName: "enableStatus", CnName: "*用户状态"},
|
|
|
{EnName: "phone", CnName: "*手机号"},
|
|
|
{EnName: "email", CnName: "邮箱"},
|
|
|
{EnName: "enableStatus", CnName: "状态"},
|
|
|
}
|
|
|
excelData, err := excelImport.OpenExcelFromIoReader(importDataCommand.Reader)
|
|
|
if err != nil {
|
...
|
...
|
@@ -196,21 +199,19 @@ func (srv ExcelDataService) ImportCompanyUser(importDataCommand *command.ImportD |
|
|
}
|
|
|
users := make([]allied_creation_user.BatchAddUserItem, 0)
|
|
|
for _, v := range excelData {
|
|
|
if srv.fieldValueAllEmpty(v) {
|
|
|
continue
|
|
|
}
|
|
|
item := allied_creation_user.BatchAddUserItem{
|
|
|
CompanyId: importDataCommand.Operator.CompanyId,
|
|
|
UserType: domain.UserTypeEmployee,
|
|
|
UserCode: v["userCode"],
|
|
|
Org: v["org"],
|
|
|
Department: v["department"],
|
|
|
UserName: v["userName"],
|
|
|
Phone: v["phone"],
|
|
|
Email: v["email"],
|
|
|
EnableStatus: domain.UserStatusEnable,
|
|
|
}
|
|
|
if status, ok := v["status"]; ok {
|
|
|
if strings.TrimSpace(status) != "启用" {
|
|
|
item.EnableStatus = domain.UserStatusDisable
|
|
|
}
|
|
|
UserCode: strings.TrimSpace(v["userCode"]),
|
|
|
Org: strings.TrimSpace(v["org"]),
|
|
|
Department: strings.TrimSpace(v["department"]),
|
|
|
UserName: strings.TrimSpace(v["userName"]),
|
|
|
Phone: strings.TrimSpace(v["phone"]),
|
|
|
Email: strings.TrimSpace(v["email"]),
|
|
|
EnableStatus: strings.TrimSpace(v["enableStatus"]),
|
|
|
}
|
|
|
users = append(users, item)
|
|
|
}
|
...
|
...
|
@@ -222,16 +223,16 @@ func (srv ExcelDataService) ImportCompanyUser(importDataCommand *command.ImportD |
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
return srv.importResultWithHeader(excelImport.DataFields, result.FailRows, len(excelData)), nil
|
|
|
return srv.importResultWithHeader(excelImport.DataFields, result.FailRows, len(users)), nil
|
|
|
}
|
|
|
|
|
|
func (srv ExcelDataService) ImportOrganization(importDataCommand *command.ImportDataCommand) (interface{}, error) {
|
|
|
excelImport := excel.NewExcelImport()
|
|
|
excelImport.RowBegin = 2 //第二行开始读取
|
|
|
excelImport.RowBegin = 3 //第二行开始读取
|
|
|
excelImport.DataFields = []excel.DataField{
|
|
|
{EnName: "OrgCode", CnName: "*部门编码"},
|
|
|
{EnName: "OrgName", CnName: "*部门名称"},
|
|
|
{EnName: "ParentOrgCode", CnName: "*上级部门编码"},
|
|
|
{EnName: "orgCode", CnName: "*部门编码"},
|
|
|
{EnName: "orgName", CnName: "*部门名称"},
|
|
|
{EnName: "parentOrgCode", CnName: "*上级部门编码"},
|
|
|
}
|
|
|
excelData, err := excelImport.OpenExcelFromIoReader(importDataCommand.Reader)
|
|
|
if err != nil {
|
...
|
...
|
@@ -239,11 +240,14 @@ func (srv ExcelDataService) ImportOrganization(importDataCommand *command.Import |
|
|
}
|
|
|
items := make([]allied_creation_user.BatchAddOrgItem, 0)
|
|
|
for _, v := range excelData {
|
|
|
if srv.fieldValueAllEmpty(v) {
|
|
|
continue
|
|
|
}
|
|
|
item := allied_creation_user.BatchAddOrgItem{
|
|
|
CompanyId: importDataCommand.Operator.CompanyId,
|
|
|
OrgCode: v["OrgCode"],
|
|
|
OrgName: v["OrgName"],
|
|
|
ParentOrgCode: v["ParentOrgCode"],
|
|
|
OrgCode: v["orgCode"],
|
|
|
OrgName: v["orgName"],
|
|
|
ParentOrgCode: v["parentOrgCode"],
|
|
|
}
|
|
|
items = append(items, item)
|
|
|
}
|
...
|
...
|
@@ -254,7 +258,7 @@ func (srv ExcelDataService) ImportOrganization(importDataCommand *command.Import |
|
|
if err != nil {
|
|
|
return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error())
|
|
|
}
|
|
|
return result, nil
|
|
|
return srv.importResultWithHeader(excelImport.DataFields, result.FailRows, len(items)), nil
|
|
|
}
|
|
|
|
|
|
// 导入结果
|
...
|
...
|
@@ -281,14 +285,25 @@ func (srv ExcelDataService) importResultWithHeader(headers []excel.DataField, fa |
|
|
return result
|
|
|
}
|
|
|
|
|
|
func (srv ExcelDataService) fieldValueAllEmpty(param map[string]string) bool {
|
|
|
isAllEmpty := true
|
|
|
for _, v := range param {
|
|
|
value := strings.TrimSpace(v)
|
|
|
if len(value) > 0 {
|
|
|
isAllEmpty = false
|
|
|
}
|
|
|
}
|
|
|
return isAllEmpty
|
|
|
}
|
|
|
|
|
|
// ImportCompanyUser 导入公司用户信息
|
|
|
func (srv ExcelDataService) FileImportTemplate(importDataCommand *command.ImportDataCommand) (interface{}, error) {
|
|
|
var mapTemplate = map[string]string{
|
|
|
domain.TemplateCompanyUser: "https://timeless-world.oss-cn-shenzhen.aliyuncs.com/open-api/dev_online/20210909/object/1631171021_baB6y5zdpwC2WnsHFQhKC3dkQEaAYMNZ.xlsx",
|
|
|
// 模板待更新
|
|
|
domain.TemplateOrganization: "https://timeless-world.oss-cn-shenzhen.aliyuncs.com/open-api/dev_online/20210909/object/1631171021_baB6y5zdpwC2WnsHFQhKC3dkQEaAYMNZ.xlsx",
|
|
|
domain.TemplateCooperationUser: "https://timeless-world.oss-cn-shenzhen.aliyuncs.com/open-api/dev_online/20210909/object/1631171021_baB6y5zdpwC2WnsHFQhKC3dkQEaAYMNZ.xlsx",
|
|
|
domain.TemplateDividendsOrders: "https://timeless-world.oss-cn-shenzhen.aliyuncs.com/open-api/dev_online/20210909/object/1631171021_baB6y5zdpwC2WnsHFQhKC3dkQEaAYMNZ.xlsx",
|
|
|
domain.ImportCompanyUser: "https://timeless-world.oss-cn-shenzhen.aliyuncs.com/open-api/dev_online/20210916/object/1631807485_EaxECeRz23WpzrMZmbwdEPRJ3Pdxpx5X.xlsx",
|
|
|
domain.ImportOrganization: "https://timeless-world.oss-cn-shenzhen.aliyuncs.com/open-api/dev_online/20210916/object/1631807490_r2XWhGmbWWmpbeePBkZ3EJQFKcZEMpEm.xlsx",
|
|
|
domain.ImportDividendsOrders: "https://timeless-world.oss-cn-shenzhen.aliyuncs.com/open-api/dev_online/20210917/object/1631843469_DykNwexeYYtzxzbwsER5RrzCS7QRwGmd.xlsx",
|
|
|
domain.ImportCooperationUser: "https://timeless-world.oss-cn-shenzhen.aliyuncs.com/open-api/dev_online/20210918/object/1631932960_fen6RZS7ZesyDPMzXactKKCenhRMkfRb.xlsx",
|
|
|
domain.ImportDividendsReturnOrders: "https://timeless-world.oss-cn-shenzhen.aliyuncs.com/open-api/dev_online/20210918/object/1631933214_MbTxsQtnEEMprHADFR6MedfZBkxYWBYA.xlsx",
|
|
|
}
|
|
|
var url string
|
|
|
var ok bool
|
...
|
...
|
|