Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
E
enterprise-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
enterprise-platform
Commits
da13f514
Commit
da13f514
authored
Oct 10, 2023
by
王晓旭
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.scsmile.cn/zxf/enterprise-platform
parents
0de22b3c
7342246d
Changes
31
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
31 changed files
with
5385 additions
and
837 deletions
+5385
-837
db/menu.sql
db/menu.sql
+19
-0
db/module.sql
db/module.sql
+35
-0
doc/企业服务平台 .docx
doc/企业服务平台 .docx
+0
-0
enterprise-manager-ui/admin/src/router.js
enterprise-manager-ui/admin/src/router.js
+1
-0
enterprise-manager-ui/admin/src/views/bussinesscard/drawershow.vue
...e-manager-ui/admin/src/views/bussinesscard/drawershow.vue
+163
-0
enterprise-manager-ui/admin/src/views/bussinesscard/list.vue
enterprise-manager-ui/admin/src/views/bussinesscard/list.vue
+90
-0
enterprise-manager-ui/admin/src/views/bussinesscard/view.vue
enterprise-manager-ui/admin/src/views/bussinesscard/view.vue
+112
-0
enterprise-manager-ui/admin/src/views/favorites/businesscard/drawershow.vue
...-ui/admin/src/views/favorites/businesscard/drawershow.vue
+2
-2
enterprise-manager-ui/admin/src/views/favorites/businesscard/list.vue
...anager-ui/admin/src/views/favorites/businesscard/list.vue
+2
-1
enterprise-manager-ui/admin/src/views/favorites/businesscard/view.vue
...anager-ui/admin/src/views/favorites/businesscard/view.vue
+4
-4
enterprise-manager-ui/admin/src/views/feedback/list.vue
enterprise-manager-ui/admin/src/views/feedback/list.vue
+2
-2
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/BussinesscardDao.java
...ortals/xhx/module/bussinesscard/dao/BussinesscardDao.java
+17
-0
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/ibatis/BussinesscardDaoImpl.java
...module/bussinesscard/dao/ibatis/BussinesscardDaoImpl.java
+21
-0
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardEntity.java
...s/xhx/module/bussinesscard/model/BussinesscardEntity.java
+141
-0
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardQuery.java
...ls/xhx/module/bussinesscard/model/BussinesscardQuery.java
+2248
-0
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/vo/BussinesscardVo.java
...ls/xhx/module/bussinesscard/model/vo/BussinesscardVo.java
+23
-0
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/BussinesscardService.java
...hx/module/bussinesscard/service/BussinesscardService.java
+16
-0
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/impl/BussinesscardServiceImpl.java
.../bussinesscard/service/impl/BussinesscardServiceImpl.java
+21
-0
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/web/BussinesscardController.java
...xhx/module/bussinesscard/web/BussinesscardController.java
+79
-0
enterprise-manager/src/main/java/com/mortals/xhx/module/company/service/impl/CompanyServiceImpl.java
...s/xhx/module/company/service/impl/CompanyServiceImpl.java
+14
-3
enterprise-manager/src/main/java/com/mortals/xhx/module/company/web/CompanyController.java
...com/mortals/xhx/module/company/web/CompanyController.java
+10
-0
enterprise-manager/src/main/java/com/mortals/xhx/module/favorites/model/FavoritesBusinesscardEntity.java
...x/module/favorites/model/FavoritesBusinesscardEntity.java
+19
-19
enterprise-manager/src/main/java/com/mortals/xhx/module/favorites/model/FavoritesBusinesscardQuery.java
...hx/module/favorites/model/FavoritesBusinesscardQuery.java
+400
-400
enterprise-manager/src/main/java/com/mortals/xhx/module/product/service/impl/ProductServiceImpl.java
...s/xhx/module/product/service/impl/ProductServiceImpl.java
+0
-2
enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffEntity.java
.../java/com/mortals/xhx/module/staff/model/StaffEntity.java
+15
-2
enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffQuery.java
...n/java/com/mortals/xhx/module/staff/model/StaffQuery.java
+2
-1
enterprise-manager/src/main/java/com/mortals/xhx/module/staff/web/StaffController.java
...ava/com/mortals/xhx/module/staff/web/StaffController.java
+1
-1
enterprise-manager/src/main/resources/sqlmap/module/bussinesscard/BussinesscardMapper.xml
...urces/sqlmap/module/bussinesscard/BussinesscardMapper.xml
+1413
-0
enterprise-manager/src/main/resources/sqlmap/module/favorites/FavoritesBusinesscardMapper.xml
...s/sqlmap/module/favorites/FavoritesBusinesscardMapper.xml
+399
-399
enterprise-manager/src/main/resources/sqlmap/module/staff/StaffMapper.xml
...er/src/main/resources/sqlmap/module/staff/StaffMapper.xml
+42
-1
enterprise-manager/src/test/java/com/mortals/httpclient/bussinesscard/BussinesscardController.http
...als/httpclient/bussinesscard/BussinesscardController.http
+74
-0
No files found.
db/menu.sql
View file @
da13f514
...
...
@@ -334,3 +334,22 @@ INSERT INTO `mortals_xhx_resource` VALUES (null, '收藏名片-菜单管理-维
-- ----------------------------
-- 收藏名片参数 SQL
-- ----------------------------
-- ----------------------------
-- 名片基本信息菜单 SQL
-- ----------------------------
INSERT
INTO
`mortals_xhx_menu`
VALUES
(
null
,
'名片基本信息'
,
'/bussinesscard/list'
,
0
,
''
,
1
,
1
,
0
,
0
,
''
,
NULL
,
NULL
,
NULL
,
0
,
0
,
1
,
NULL
,
NULL
,
NULL
);
-- ----------------------------
-- 名片基本信息资源路径 SQL
-- ----------------------------
INSERT
INTO
`mortals_xhx_resource`
VALUES
(
null
,
'名片基本信息-菜单管理-查看'
,
'/bussinesscard/list,/bussinesscard/view,/bussinesscard/info,/bussinesscard/export,/bussinesscard/exportExcel,/bussinesscard/downloadTemplate,/bussinesscard/download'
,
3
,
0
,
NULL
,
NULL
,
NULL
,
0
);
INSERT
INTO
`mortals_xhx_resource`
VALUES
(
null
,
'名片基本信息-菜单管理-维护'
,
'/bussinesscard/add,/bussinesscard/edit,/bussinesscard/delete,/bussinesscard/logicDelete,/bussinesscard/save,/bussinesscard/importData'
,
3
,
0
,
NULL
,
NULL
,
NULL
,
0
);
-- ----------------------------
-- 名片基本信息参数 SQL
-- ----------------------------
INSERT
INTO
`mortals_xhx_param`
VALUES
(
null
,
'性别'
,
'Bussinesscard'
,
'gender'
,
'1'
,
'男'
,
1
,
4
,
0
,
'gender'
,
NULL
,
NULL
,
NULL
);
INSERT
INTO
`mortals_xhx_param`
VALUES
(
null
,
'性别'
,
'Bussinesscard'
,
'gender'
,
'2'
,
'女'
,
1
,
4
,
0
,
'gender'
,
NULL
,
NULL
,
NULL
);
db/module.sql
View file @
da13f514
...
...
@@ -485,3 +485,38 @@ CREATE TABLE mortals_xhx_favorites_businesscard(
`updateTime`
datetime
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'收藏名片'
;
-- ----------------------------
-- 名片基本信息表
-- ----------------------------
DROP
TABLE
IF
EXISTS
`mortals_xhx_bussinesscard`
;
CREATE
TABLE
mortals_xhx_bussinesscard
(
`id`
bigint
(
20
)
AUTO_INCREMENT
COMMENT
'序号,主键,自增长'
,
`staffId`
bigint
(
20
)
NOT
NULL
COMMENT
'名片所属关联员工ID'
,
`staffName`
varchar
(
64
)
COMMENT
'名片所属关联员工姓名'
,
`name`
varchar
(
64
)
NOT
NULL
COMMENT
'名片姓名'
,
`gender`
tinyint
(
2
)
DEFAULT
'1'
COMMENT
'性别(1.男,2.女)'
,
`birthday`
datetime
COMMENT
'出生日期'
,
`photoPath`
varchar
(
255
)
COMMENT
'照片'
,
`email`
varchar
(
128
)
COMMENT
'邮件地址'
,
`phoneNumber`
varchar
(
128
)
COMMENT
'联系电话'
,
`idCard`
varchar
(
128
)
COMMENT
'身份证号码'
,
`companyId`
varchar
(
128
)
COMMENT
'记录名片持有者所在公司或组织的名称ID'
,
`companyName`
varchar
(
128
)
COMMENT
'记录名片持有者所在公司或组织的名称'
,
`positionId`
bigint
(
20
)
COMMENT
'职位ID'
,
`positionName`
varchar
(
128
)
COMMENT
'职位名称'
,
`bio`
varchar
(
512
)
COMMENT
'简介'
,
`socialMedia`
varchar
(
512
)
COMMENT
'社交媒体链接, 可以是一个包含社交媒体账号的JSON对象或单独的字段'
,
`qRCode`
varchar
(
512
)
COMMENT
'二维码图片, 可以是一个图片链接或存储路径'
,
`remark`
varchar
(
255
)
COMMENT
'备注'
,
`sumViews`
int
(
4
)
DEFAULT
'0'
COMMENT
'累计查看次数'
,
`viewsByDay`
int
(
4
)
DEFAULT
'0'
COMMENT
'当日查看次数'
,
`createUserId`
bigint
(
20
)
COMMENT
'创建用户'
,
`createTime`
datetime
COMMENT
'创建时间'
,
`updateUserId`
bigint
(
20
)
COMMENT
'更新用户'
,
`updateTime`
datetime
COMMENT
'更新时间'
,
PRIMARY
KEY
(
`id`
),
KEY
`name`
(
`name`
)
USING
BTREE
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8
COMMENT
=
'名片基本信息'
;
doc/企业服务平台 .docx
View file @
da13f514
No preview for this file type
enterprise-manager-ui/admin/src/router.js
View file @
da13f514
...
...
@@ -52,6 +52,7 @@ const router = new Router({
...
restBuilder
(
'
feedback
'
,
'
feedback
'
),
//反馈信息
...
restBuilder
(
'
staff
'
,
'
staff
'
),
//员工基本信息
...
restBuilder
(
'
bussinesscard
'
,
'
bussinesscard
'
),
//名片基本信息
...
restBuilder
(
'
staff/record
'
,
'
staff/record
'
),
//客户访问记录信息
...
restBuilder
(
'
news/category
'
,
'
news/category
'
),
//新闻频道分类
...
...
enterprise-manager-ui/admin/src/views/bussinesscard/drawershow.vue
0 → 100644
View file @
da13f514
<
template
>
<!-- 弹出框表单 -->
<el-drawer
:title=
"title"
:visible.sync=
"open"
:direction=
"direction"
:destroy-on-close=
"true"
size=
"50%"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
:span=
"20"
label=
"所属关联员工"
prop=
"staffId"
v-model=
"form.staffId"
type=
"select"
:enumData=
"dict.staffId"
placeholder=
"请输入名片所属关联员工ID"
/>
<Field
:span=
"20"
label=
"名片姓名"
prop=
"name"
v-model=
"form.name"
placeholder=
"请输入名片姓名"
/>
<Field
:span=
"20"
label=
"性别"
prop=
"gender"
v-model=
"form.gender"
type=
"select"
:enumData=
"dict.gender"
placeholder=
"请选择性别"
/>
<Field
:span=
"20"
label=
"出生日期"
prop=
"birthday"
v-model=
"form.birthday"
type=
"date"
/>
<Field
:span=
"20"
label=
"照片"
prop=
"photoPath"
placeholder=
"请输入照片"
><imageUpload
v-model=
"form.photoPath"
prePath=
"/file/preview"
/>
</Field>
<Field
:span=
"20"
label=
"邮件地址"
prop=
"email"
v-model=
"form.email"
placeholder=
"请输入邮件地址"
/>
<Field
:span=
"20"
label=
"联系电话"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入联系电话"
/>
<Field
:span=
"20"
label=
"身份证号码"
prop=
"idCard"
v-model=
"form.idCard"
placeholder=
"请输入身份证号码"
/>
<Field
:span=
"20"
label=
"所在公司"
prop=
"companyId"
v-model=
"form.companyId"
type=
"select"
:enumData=
"dict.companyId"
placeholder=
"请输入记录名片持有者所在公司或组织的名称ID"
/>
<Field
:span=
"20"
label=
"职位"
prop=
"positionId"
v-model=
"form.positionId"
type=
"select"
:enumData=
"dict.positionId"
placeholder=
"请输入职位ID"
/>
<Field
:span=
"20"
label=
"简介"
prop=
"bio"
v-model=
"form.bio"
type=
"textarea"
placeholder=
"请输入简介"
/>
<Field
:span=
"20"
label=
"社交媒体链接"
prop=
"socialMedia"
v-model=
"form.socialMedia"
type=
"textarea"
placeholder=
"请输入社交媒体链接, 可以是一个包含社交媒体账号的JSON对象或单独的字段"
/>
<Field
:span=
"20"
label=
"二维码图片"
prop=
"qRCode"
placeholder=
"请输入二维码图片"
><imageUpload
v-model=
"form.qRCode"
prePath=
"/file/preview"
/>
</Field>
<Field
:span=
"20"
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
<form-buttons
@
submit=
'submitForm'
v-if=
"pageInfo.type!='view'"
noCancelBtn
/>
</el-form>
</el-drawer>
</
template
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
export
default
{
name
:
"
BussinesscardDetail
"
,
mixins
:
[
form
],
components
:
{
},
created
()
{
this
.
changePath
(
"
bussinesscard
"
)
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 弹出层标题
title
:
"
名片基本信息
"
,
// 是否显示弹出层
open
:
false
,
direction
:
"
rtl
"
,
toString
:[
"
gender
"
,
"
staffId
"
,
"
companyId
"
,
"
positionId
"
,
],
toDate
:[
"
birthday
"
,
],
// 表单校验
rules
:
{
staffId
:
[
{
required
:
true
,
message
:
"
请选择员工
"
,
trigger
:
"
blur
"
},
],
name
:
[
{
required
:
true
,
message
:
"
请输入名片姓名
"
,
trigger
:
"
blur
"
},
{
max
:
64
,
message
:
"
最多只能录入64个字符
"
,
trigger
:
"
blur
"
,},
],
companyId
:
[
{
required
:
true
,
message
:
"
请选择所在公司
"
,
trigger
:
"
blur
"
},
],
positionId
:
[
{
required
:
true
,
message
:
"
请选择职位
"
,
trigger
:
"
blur
"
},
],
}
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
bussinesscard/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
title
=
"
修改名片基本信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
urls
.
currUrl
=
"
bussinesscard/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
title
=
"
新增名片基本信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
bussinesscard/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
title
=
"
名片基本信息详细
"
;
},
/**取消按钮 */
cancel
()
{
this
.
open
=
false
;
},
/**获取数据后弹框 */
afterRender
(
data
)
{
this
.
open
=
true
;
},
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
},
// 表单重置
reset
()
{
this
.
form
=
{
staffId
:
null
,
staffName
:
""
,
name
:
""
,
gender
:
1
,
birthday
:
null
,
photoPath
:
""
,
email
:
""
,
phoneNumber
:
""
,
idCard
:
""
,
companyId
:
""
,
companyName
:
""
,
positionId
:
null
,
positionName
:
""
,
bio
:
""
,
socialMedia
:
""
,
qRCode
:
""
,
remark
:
""
,
sumViews
:
0
,
viewsByDay
:
0
,
};
this
.
resetForm
(
"
form
"
);
},
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
}
},
},
};
</
script
>
enterprise-manager-ui/admin/src/views/bussinesscard/list.vue
0 → 100644
View file @
da13f514
<
template
>
<div
class=
"page"
>
<LayoutTable
:data=
"tableData"
:config=
"tableConfig"
>
</LayoutTable>
<drawer-show
ref=
"drawerform"
@
ok=
"getData"
/>
</div>
</
template
>
<
script
>
/** 表单弹出框模式需引入 */
import
drawerShow
from
"
./drawershow
"
;
import
table
from
"
@/assets/mixins/table
"
;
export
default
{
name
:
"
BussinesscardList
"
,
components
:
{
drawerShow
},
mixins
:
[
table
],
created
()
{
},
methods
:
{
/** 重写新增方法 */
toAdd
(
row
)
{
this
.
$refs
.
drawerform
.
add
(
row
);
},
/** 重写编辑方法 */
toEdit
(
row
)
{
this
.
$refs
.
drawerform
.
edit
(
row
);
},
/** 重写查看方法 */
toView
(
row
)
{
this
.
$refs
.
drawerform
.
view
(
row
);
},
},
data
()
{
return
{
config
:
{
search
:
[
{
name
:
"
name
"
,
type
:
"
text
"
,
label
:
"
名片姓名
"
,
fuzzy
:
true
},
],
columns
:
[
{
type
:
"
selection
"
,
width
:
60
},
{
type
:
"
index
"
,
label
:
"
序号
"
,
width
:
50
},
{
label
:
"
员工姓名
"
,
prop
:
"
staffName
"
},
{
label
:
"
名片姓名
"
,
prop
:
"
name
"
},
{
label
:
"
性别
"
,
prop
:
"
gender
"
,
formatter
:
this
.
formatter
},
{
label
:
"
照片
"
,
prop
:
"
photoPath
"
,
formatter
:
(
row
)
=>
{
return
row
.
photoPath
!=
""
?
(
<
el
-
image
style
=
"
width: 70px; height: 70px
"
src
=
{
row
.
photoPath
}
preview
-
src
-
list
=
{[
row
.
photoPath
]}
><
/el-image
>
)
:
(
"
--
"
);
},},
{
label
:
"
邮件地址
"
,
prop
:
"
email
"
},
{
label
:
"
联系电话
"
,
prop
:
"
phoneNumber
"
},
{
label
:
"
职位名称
"
,
prop
:
"
positionName
"
},
{
label
:
"
操作
"
,
width
:
240
,
formatter
:
row
=>
{
return
(
<
table
-
buttons
noAdd
row
=
{
row
}
onEdit
=
{
this
.
toEdit
}
onView
=
{
this
.
toView
}
onDel
=
{
this
.
toDel
}
/
>
);
}
}
]
}
};
}
};
</
script
>
enterprise-manager-ui/admin/src/views/bussinesscard/view.vue
0 → 100644
View file @
da13f514
<
template
>
<layout-view>
<el-descriptions
:title=
"title"
:column=
"column"
:size=
"size"
:colon=
"false"
border
>
<template
slot=
"title"
>
<i
class=
"el-icon-tickets"
></i>
基本详细信息
</
template
>
<
template
slot=
"extra"
>
<el-button
type=
"primary"
@
click=
"$router.go(-1)"
size=
"small"
>
返回
</el-button>
</
template
>
<el-descriptions-item
label=
"名片所属关联员工ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffId}}
</el-descriptions-item>
<el-descriptions-item
label=
"名片所属关联员工姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.staffName}}
</el-descriptions-item>
<el-descriptions-item
label=
"名片姓名"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.name}}
</el-descriptions-item>
<el-descriptions-item
label=
"性别"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatters("gender", form.gender) }}
</el-descriptions-item>
<el-descriptions-item
label=
"出生日期"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{ util_formatterDate(form.birthday)}}
</el-descriptions-item>
<el-descriptions-item
label=
"照片"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.photoPath}}
</el-descriptions-item>
<el-descriptions-item
label=
"邮件地址"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.email}}
</el-descriptions-item>
<el-descriptions-item
label=
"联系电话"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.phoneNumber}}
</el-descriptions-item>
<el-descriptions-item
label=
"身份证号码"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.idCard}}
</el-descriptions-item>
<el-descriptions-item
label=
"记录名片持有者所在公司或组织的名称ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.companyId}}
</el-descriptions-item>
<el-descriptions-item
label=
"记录名片持有者所在公司或组织的名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.companyName}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位ID"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.positionId}}
</el-descriptions-item>
<el-descriptions-item
label=
"职位名称"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.positionName}}
</el-descriptions-item>
<el-descriptions-item
label=
"简介"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.bio}}
</el-descriptions-item>
<el-descriptions-item
label=
"社交媒体链接, 可以是一个包含社交媒体账号的JSON对象或单独的字段"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.socialMedia}}
</el-descriptions-item>
<el-descriptions-item
label=
"二维码图片, 可以是一个图片链接或存储路径"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.qRCode}}
</el-descriptions-item>
<el-descriptions-item
label=
"备注"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.remark}}
</el-descriptions-item>
<el-descriptions-item
label=
"累计查看次数"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.sumViews}}
</el-descriptions-item>
<el-descriptions-item
label=
"当日查看次数"
label-class-name=
"labelClass"
content-class-name=
"contentClass"
>
{{form.viewsByDay}}
</el-descriptions-item>
</el-descriptions>
</layout-view>
</template>
<
script
>
import
view
from
"
@/assets/mixins/view
"
;
export
default
{
mixins
:
[
view
],
components
:
{
},
methods
:
{
},
data
()
{
return
{
size
:
"
small
"
,
column
:
2
,
toString
:[
"
gender
"
,
],
toArrays
:
[
],
toDate
:
[
]
}
}
}
</
script
>
<
style
lang=
"less"
>
.labelClass{
width: 200px;
}
.el-descriptions__body{
margin-left: 5px;
margin-right: 5px;
color: #606266;
background-color: #FFF;
}
.contentClass{
width: 600px;
}
</
style
>
\ No newline at end of file
enterprise-manager-ui/admin/src/views/favorites/businesscard/drawershow.vue
View file @
da13f514
enterprise-manager-ui/admin/src/views/favorites/businesscard/list.vue
View file @
da13f514
...
...
@@ -46,7 +46,8 @@
{
label
:
"
用户
"
,
prop
:
"
userId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工
"
,
prop
:
"
staffId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
员工ID, 关联到员工表中的ID,表示这是哪个名片的收藏
"
,
prop
:
"
staffId
"
,
formatter
:
this
.
formatter
},
{
label
:
"
创建用户
"
,
prop
:
"
createUserId
"
,
formatter
:
this
.
formatter
},
{
...
...
enterprise-manager-ui/admin/src/views/favorites/businesscard/view.vue
View file @
da13f514
enterprise-manager-ui/admin/src/views/feedback/list.vue
View file @
da13f514
<
template
>
<div
class=
"page"
>
<LayoutTable
ref=
"layouttable"
:data=
"tableData"
:config=
"tableConfig"
notDel
notAdd
>
<LayoutTable
ref=
"layouttable"
:data=
"tableData"
:config=
"tableConfig"
>
<!-- 热门0为非热门1为热门 -->
<div
slot=
"table-search-left"
class=
"onlyhot"
>
<el-checkbox
...
...
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/BussinesscardDao.java
0 → 100644
View file @
da13f514
package
com.mortals.xhx.module.bussinesscard.dao
;
import
com.mortals.framework.dao.ICRUDDao
;
import
com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity
;
import
java.util.List
;
/**
* 名片基本信息Dao
* 名片基本信息 DAO接口
*
* @author zxfei
* @date 2023-10-10
*/
public
interface
BussinesscardDao
extends
ICRUDDao
<
BussinesscardEntity
,
Long
>{
}
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/dao/ibatis/BussinesscardDaoImpl.java
0 → 100644
View file @
da13f514
package
com.mortals.xhx.module.bussinesscard.dao.ibatis
;
import
org.springframework.stereotype.Repository
;
import
com.mortals.xhx.module.bussinesscard.dao.BussinesscardDao
;
import
com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity
;
import
java.util.Date
;
import
com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis
;
import
java.util.List
;
/**
* 名片基本信息DaoImpl DAO接口
*
* @author zxfei
* @date 2023-10-10
*/
@Repository
(
"bussinesscardDao"
)
public
class
BussinesscardDaoImpl
extends
BaseCRUDDaoMybatis
<
BussinesscardEntity
,
Long
>
implements
BussinesscardDao
{
}
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardEntity.java
0 → 100644
View file @
da13f514
package
com.mortals.xhx.module.bussinesscard.model
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.ArrayList
;
import
java.math.BigDecimal
;
import
cn.hutool.core.date.DateUtil
;
import
java.util.Date
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.bussinesscard.model.vo.BussinesscardVo
;
import
lombok.Data
;
/**
* 名片基本信息实体对象
*
* @author zxfei
* @date 2023-10-10
*/
@Data
public
class
BussinesscardEntity
extends
BussinesscardVo
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 名片所属关联员工ID
*/
private
Long
staffId
;
/**
* 名片所属关联员工姓名
*/
private
String
staffName
;
/**
* 名片姓名
*/
private
String
name
;
/**
* 性别(1.男,2.女)
*/
private
Integer
gender
;
/**
* 出生日期
*/
private
Date
birthday
;
/**
* 照片
*/
private
String
photoPath
;
/**
* 邮件地址
*/
private
String
email
;
/**
* 联系电话
*/
private
String
phoneNumber
;
/**
* 身份证号码
*/
private
String
idCard
;
/**
* 记录名片持有者所在公司或组织的名称ID
*/
private
String
companyId
;
/**
* 记录名片持有者所在公司或组织的名称
*/
private
String
companyName
;
/**
* 职位ID
*/
private
Long
positionId
;
/**
* 职位名称
*/
private
String
positionName
;
/**
* 简介
*/
private
String
bio
;
/**
* 社交媒体链接, 可以是一个包含社交媒体账号的JSON对象或单独的字段
*/
private
String
socialMedia
;
/**
* 二维码图片, 可以是一个图片链接或存储路径
*/
private
String
qRCode
;
/**
* 备注
*/
private
String
remark
;
/**
* 累计查看次数
*/
private
Integer
sumViews
;
/**
* 当日查看次数
*/
private
Integer
viewsByDay
;
/**
* 发送名片次数
*/
private
Integer
sendBusinessCardTimes
;
@Override
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
return
false
;
if
(
obj
instanceof
BussinesscardEntity
)
{
BussinesscardEntity
tmp
=
(
BussinesscardEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
())
{
return
true
;
}
}
return
false
;
}
public
void
initAttrValue
(){
this
.
staffId
=
null
;
this
.
staffName
=
""
;
this
.
name
=
""
;
this
.
gender
=
1
;
this
.
birthday
=
new
Date
();
this
.
photoPath
=
""
;
this
.
email
=
""
;
this
.
phoneNumber
=
""
;
this
.
idCard
=
""
;
this
.
companyId
=
""
;
this
.
companyName
=
""
;
this
.
positionId
=
null
;
this
.
positionName
=
""
;
this
.
bio
=
""
;
this
.
socialMedia
=
""
;
this
.
qRCode
=
""
;
this
.
remark
=
""
;
this
.
sumViews
=
0
;
this
.
viewsByDay
=
0
;
this
.
sendBusinessCardTimes
=
0
;
}
}
\ No newline at end of file
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/BussinesscardQuery.java
0 → 100644
View file @
da13f514
This diff is collapsed.
Click to expand it.
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/model/vo/BussinesscardVo.java
0 → 100644
View file @
da13f514
package
com.mortals.xhx.module.bussinesscard.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity
;
import
java.util.ArrayList
;
import
java.util.List
;
import
lombok.Data
;
import
com.mortals.framework.annotation.Excel
;
import
java.math.BigDecimal
;
import
java.util.Date
;
/**
* 名片基本信息视图对象
*
* @author zxfei
* @date 2023-10-10
*/
@Data
public
class
BussinesscardVo
extends
BaseEntityLong
{
/** 序号,主键,自增长列表 */
private
List
<
Long
>
idList
;
}
\ No newline at end of file
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/BussinesscardService.java
0 → 100644
View file @
da13f514
package
com.mortals.xhx.module.bussinesscard.service
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity
;
import
com.mortals.xhx.module.bussinesscard.dao.BussinesscardDao
;
/**
* BussinesscardService
*
* 名片基本信息 service接口
*
* @author zxfei
* @date 2023-10-10
*/
public
interface
BussinesscardService
extends
ICRUDService
<
BussinesscardEntity
,
Long
>{
BussinesscardDao
getDao
();
}
\ No newline at end of file
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/service/impl/BussinesscardServiceImpl.java
0 → 100644
View file @
da13f514
package
com.mortals.xhx.module.bussinesscard.service.impl
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.xhx.module.bussinesscard.dao.BussinesscardDao
;
import
com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity
;
import
com.mortals.xhx.module.bussinesscard.service.BussinesscardService
;
import
lombok.extern.slf4j.Slf4j
;
/**
* BussinesscardService
* 名片基本信息 service实现
*
* @author zxfei
* @date 2023-10-10
*/
@Service
(
"bussinesscardService"
)
@Slf4j
public
class
BussinesscardServiceImpl
extends
AbstractCRUDServiceImpl
<
BussinesscardDao
,
BussinesscardEntity
,
Long
>
implements
BussinesscardService
{
}
\ No newline at end of file
enterprise-manager/src/main/java/com/mortals/xhx/module/bussinesscard/web/BussinesscardController.java
0 → 100644
View file @
da13f514
package
com.mortals.xhx.module.bussinesscard.web
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.company.model.CompanyQuery
;
import
com.mortals.xhx.module.company.service.CompanyService
;
import
com.mortals.xhx.module.position.model.PositionQuery
;
import
com.mortals.xhx.module.position.service.PositionService
;
import
com.mortals.xhx.module.staff.model.StaffQuery
;
import
com.mortals.xhx.module.staff.service.StaffService
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
com.mortals.framework.model.Context
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity
;
import
com.mortals.xhx.module.bussinesscard.service.BussinesscardService
;
import
org.apache.commons.lang3.ArrayUtils
;
import
com.mortals.framework.util.StringUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSONObject
;
import
java.util.Arrays
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
/**
* 名片基本信息
*
* @author zxfei
* @date 2023-10-10
*/
@RestController
@RequestMapping
(
"bussinesscard"
)
public
class
BussinesscardController
extends
BaseCRUDJsonBodyMappingController
<
BussinesscardService
,
BussinesscardEntity
,
Long
>
{
@Autowired
private
ParamService
paramService
;
@Autowired
private
StaffService
staffService
;
@Autowired
private
CompanyService
companyService
;
@Autowired
private
PositionService
positionService
;
public
BussinesscardController
()
{
super
.
setModuleDesc
(
"名片基本信息"
);
}
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"gender"
,
paramService
.
getParamBySecondOrganize
(
"Bussinesscard"
,
"gender"
));
this
.
addDict
(
model
,
"staffId"
,
staffService
.
find
(
new
StaffQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getName
(),
(
o
,
n
)
->
n
)));
this
.
addDict
(
model
,
"companyId"
,
companyService
.
find
(
new
CompanyQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getCompanyName
(),
(
o
,
n
)
->
n
)));
this
.
addDict
(
model
,
"positionId"
,
positionService
.
find
(
new
PositionQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getPositionName
(),
(
o
,
n
)
->
n
)));
super
.
init
(
model
,
context
);
}
}
\ No newline at end of file
enterprise-manager/src/main/java/com/mortals/xhx/module/company/service/impl/CompanyServiceImpl.java
View file @
da13f514
...
...
@@ -8,6 +8,9 @@ import com.mortals.framework.model.PageInfo;
import
com.mortals.xhx.base.system.user.model.UserQuery
;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.common.code.SourceEnum
;
import
com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity
;
import
com.mortals.xhx.module.bussinesscard.model.BussinesscardQuery
;
import
com.mortals.xhx.module.bussinesscard.service.BussinesscardService
;
import
com.mortals.xhx.module.company.model.*
;
import
com.mortals.xhx.module.company.model.vo.HomeStatInfo
;
import
com.mortals.xhx.module.company.service.CompanyPatentService
;
...
...
@@ -59,6 +62,8 @@ public class CompanyServiceImpl extends AbstractCRUDServiceImpl<CompanyDao, Comp
private
CompanyLabelsService
companyLabelsService
;
@Autowired
private
CompanyPatentService
companyPatentService
;
@Autowired
private
BussinesscardService
bussinesscardService
;
@Autowired
private
CompanyService
companyService
;
...
...
@@ -195,19 +200,25 @@ public class CompanyServiceImpl extends AbstractCRUDServiceImpl<CompanyDao, Comp
homeStatInfo
.
setProductDistributionList
(
companyList
);
//发送名片分布
Map
<
String
,
Integer
>
collect
=
staffList
.
stream
().
collect
(
Collectors
.
groupingBy
(
x
->
x
.
getCompanyIds
(),
Collectors
.
summingInt
(
StaffEntity:
:
getSendBusinessCardTimes
)));
List
<
BussinesscardEntity
>
bussinesscardList
=
bussinesscardService
.
find
(
new
BussinesscardQuery
());
Map
<
String
,
Integer
>
collect
=
bussinesscardList
.
stream
().
collect
(
Collectors
.
groupingBy
(
x
->
x
.
getCompanyId
(),
Collectors
.
summingInt
(
BussinesscardEntity:
:
getSendBusinessCardTimes
)));
/* Map<String, Integer> collect = staffList.stream().collect(Collectors.groupingBy(x -> x.getCompanyIds(), Collectors.summingInt(StaffEntity::getSendBusinessCardTimes)));
*/
companyList
.
forEach
(
company
->
{
//归集公司发送卡片数量
Long
companyId
=
company
.
getId
();
collect
.
entrySet
().
stream
().
forEach
(
item
->
{
company
.
setBusinessCardNums
(
collect
.
getOrDefault
(
companyId
.
toString
(),
0
));
/* collect.entrySet().stream().forEach(item -> {
String key = item.getKey();
Integer nums = item.getValue();
List<String> split = StrUtil.split(key, ",");
if (split.contains(companyId.toString())) {
company.setBusinessCardNums(company.getBusinessCardNums() + nums);
}
});
});
*/
});
homeStatInfo
.
setBusinessCardDistributionList
(
companyList
);
...
...
enterprise-manager/src/main/java/com/mortals/xhx/module/company/web/CompanyController.java
View file @
da13f514
...
...
@@ -90,6 +90,16 @@ public class CompanyController extends BaseCRUDJsonBodyMappingController<Company
return
super
.
editAfter
(
id
,
model
,
entity
,
context
);
}
@Override
protected
int
viewAfter
(
Long
id
,
Map
<
String
,
Object
>
model
,
CompanyEntity
entity
,
Context
context
)
throws
AppException
{
List
<
CompanyPatentEntity
>
companyPatentEntities
=
companyPatentService
.
find
(
new
CompanyPatentQuery
().
companyId
(
entity
.
getId
()));
entity
.
setCompanyPatentsList
(
companyPatentEntities
);
return
super
.
viewAfter
(
id
,
model
,
entity
,
context
);
}
/**
* 首页统计
*/
...
...
enterprise-manager/src/main/java/com/mortals/xhx/module/favorites/model/FavoritesBusinesscardEntity.java
View file @
da13f514
...
...
@@ -11,11 +11,11 @@ import com.mortals.framework.model.BaseEntityLong;
import
com.mortals.xhx.module.favorites.model.vo.FavoritesBusinesscardVo
;
import
lombok.Data
;
/**
* 收藏名片实体对象
*
* @author zxfei
* @date 2023-10-07
*/
* 收藏名片实体对象
*
* @author zxfei
* @date 2023-10-10
*/
@Data
public
class
FavoritesBusinesscardEntity
extends
FavoritesBusinesscardVo
{
private
static
final
long
serialVersionUID
=
1L
;
...
...
enterprise-manager/src/main/java/com/mortals/xhx/module/favorites/model/FavoritesBusinesscardQuery.java
View file @
da13f514
...
...
@@ -4,11 +4,11 @@ import java.util.Date;
import
java.util.List
;
import
com.mortals.xhx.module.favorites.model.FavoritesBusinesscardEntity
;
/**
* 收藏名片查询对象
*
* @author zxfei
* @date 2023-10-07
*/
* 收藏名片查询对象
*
* @author zxfei
* @date 2023-10-10
*/
public
class
FavoritesBusinesscardQuery
extends
FavoritesBusinesscardEntity
{
/** 开始 序号,主键,自增长 */
private
Long
idStart
;
...
...
enterprise-manager/src/main/java/com/mortals/xhx/module/product/service/impl/ProductServiceImpl.java
View file @
da13f514
...
...
@@ -60,9 +60,7 @@ public class ProductServiceImpl extends AbstractCRUDCacheServiceImpl<ProductDao,
if
(
ObjectUtils
.
isEmpty
(
entity
.
getCategoryId
())
&&
ObjectUtils
.
isEmpty
(
entity
.
getCompanyId
()))
{
return
super
.
find
(
entity
,
pageInfo
,
context
);
}
else
{
Integer
hot
=
entity
.
getHot
();
//针对不同查询返回不同结果集
if
(!
ObjectUtils
.
isEmpty
(
entity
.
getCategoryId
())
&&
ObjectUtils
.
isEmpty
(
entity
.
getCompanyId
()))
{
Result
<
ProductCategoryEntity
>
productCategoryResult
=
productCategoryService
.
find
(
new
ProductCategoryQuery
().
categoryId
(
Long
.
parseLong
(
entity
.
getCategoryId
())),
pageInfo
,
context
);
...
...
enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffEntity.java
View file @
da13f514
package
com.mortals.xhx.module.staff.model
;
import
java.util.List
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.ArrayList
;
...
...
@@ -9,12 +10,13 @@ import com.fasterxml.jackson.annotation.JsonFormat;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.staff.model.vo.StaffVo
;
import
com.mortals.xhx.module.bussinesscard.model.BussinesscardEntity
;
import
lombok.Data
;
/**
* 员工基本信息实体对象
*
* @author zxfei
* @date 2023-
09-28
* @date 2023-
10-10
*/
@Data
public
class
StaffEntity
extends
StaffVo
{
...
...
@@ -112,6 +114,17 @@ public class StaffEntity extends StaffVo {
* 邮件地址
*/
private
String
email
;
/**
* 名片基本信息信息
*/
private
List
<
BussinesscardEntity
>
bussinesscardList
=
new
ArrayList
<>();;
public
List
<
BussinesscardEntity
>
getBussinesscardList
(){
return
bussinesscardList
;
}
public
void
setBussinesscardList
(
List
<
BussinesscardEntity
>
bussinesscardList
){
this
.
bussinesscardList
=
bussinesscardList
;
}
@Override
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
...
...
@@ -136,7 +149,7 @@ public class StaffEntity extends StaffVo {
this
.
phoneNumber
=
""
;
this
.
idCard
=
""
;
this
.
workNum
=
""
;
this
.
companyIds
=
null
;
this
.
companyIds
=
""
;
this
.
companyName
=
""
;
this
.
positionId
=
null
;
this
.
positionName
=
""
;
...
...
enterprise-manager/src/main/java/com/mortals/xhx/module/staff/model/StaffQuery.java
View file @
da13f514
package
com.mortals.xhx.module.staff.model
;
import
java.util.List
;
import
java.util.Date
;
import
java.util.List
;
import
com.mortals.xhx.module.staff.model.StaffEntity
;
...
...
@@ -7,7 +8,7 @@ import com.mortals.xhx.module.staff.model.StaffEntity;
* 员工基本信息查询对象
*
* @author zxfei
* @date 2023-
09-28
* @date 2023-
10-10
*/
public
class
StaffQuery
extends
StaffEntity
{
/** 开始 序号,主键,自增长 */
...
...
enterprise-manager/src/main/java/com/mortals/xhx/module/staff/web/StaffController.java
View file @
da13f514
...
...
@@ -72,7 +72,7 @@ public class StaffController extends BaseCRUDJsonBodyMappingController<StaffServ
this
.
addDict
(
model
,
"staffStatus"
,
paramService
.
getParamBySecondOrganize
(
"Staff"
,
"staffStatus"
));
this
.
addDict
(
model
,
"source"
,
paramService
.
getParamBySecondOrganize
(
"Staff"
,
"source"
));
this
.
addDict
(
model
,
"companyId"
,
companyService
.
find
(
new
CompanyQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getCompanyName
(),
(
o
,
n
)
->
n
)));
this
.
addDict
(
model
,
"companyId
s
"
,
companyService
.
find
(
new
CompanyQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getCompanyName
(),
(
o
,
n
)
->
n
)));
this
.
addDict
(
model
,
"positionId"
,
positionService
.
find
(
new
PositionQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getPositionName
(),
(
o
,
n
)
->
n
)));
this
.
addDict
(
model
,
"updateUserId"
,
userService
.
find
(
new
UserQuery
()).
stream
().
collect
(
Collectors
.
toMap
(
x
->
x
.
getId
().
toString
(),
y
->
y
.
getRealName
(),
(
o
,
n
)
->
n
)));
...
...
enterprise-manager/src/main/resources/sqlmap/module/bussinesscard/BussinesscardMapper.xml
0 → 100644
View file @
da13f514
This diff is collapsed.
Click to expand it.
enterprise-manager/src/main/resources/sqlmap/module/favorites/FavoritesBusinesscardMapper.xml
View file @
da13f514
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
"mybatis-3-mapper.dtd">
<mapper
namespace=
"com.mortals.xhx.module.favorites.dao.ibatis.FavoritesBusinesscardDaoImpl"
>
<!-- 字段和属性映射 -->
...
...
enterprise-manager/src/main/resources/sqlmap/module/staff/StaffMapper.xml
View file @
da13f514
...
...
@@ -33,7 +33,34 @@
<result
property=
"updateUserId"
column=
"updateUserId"
/>
<result
property=
"updateTime"
column=
"updateTime"
/>
<result
property=
"email"
column=
"email"
/>
<collection
property=
"bussinesscardList"
column=
"id"
ofType=
"BussinesscardEntity"
javaType=
"ArrayList"
select=
"getBussinesscardByStaffId"
></collection>
</resultMap>
<resultMap
type=
"BussinesscardEntity"
id=
"BussinesscardEntity-Map"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"staffId"
column=
"staffId"
/>
<result
property=
"staffName"
column=
"staffName"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"gender"
column=
"gender"
/>
<result
property=
"birthday"
column=
"birthday"
/>
<result
property=
"photoPath"
column=
"photoPath"
/>
<result
property=
"email"
column=
"email"
/>
<result
property=
"phoneNumber"
column=
"phoneNumber"
/>
<result
property=
"idCard"
column=
"idCard"
/>
<result
property=
"companyId"
column=
"companyId"
/>
<result
property=
"companyName"
column=
"companyName"
/>
<result
property=
"positionId"
column=
"positionId"
/>
<result
property=
"positionName"
column=
"positionName"
/>
<result
property=
"bio"
column=
"bio"
/>
<result
property=
"socialMedia"
column=
"socialMedia"
/>
<result
property=
"qRCode"
column=
"qRCode"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"sumViews"
column=
"sumViews"
/>
<result
property=
"viewsByDay"
column=
"viewsByDay"
/>
<result
property=
"createUserId"
column=
"createUserId"
/>
<result
property=
"createTime"
column=
"createTime"
/>
<result
property=
"updateUserId"
column=
"updateUserId"
/>
<result
property=
"updateTime"
column=
"updateTime"
/>
<result
property=
"sendBusinessCardTimes"
column=
"sendBusinessCardTimes"
/>
</resultMap>
...
...
@@ -126,6 +153,12 @@
</if>
</trim>
</sql>
<!-- 子表所有列 -->
<sql
id=
"_columns_sub"
>
<trim
suffixOverrides=
","
suffix=
""
>
b.id,b.staffId,b.staffName,b.name,b.gender,b.birthday,b.photoPath,b.email,b.phoneNumber,b.idCard,b.companyId,b.companyName,b.positionId,b.positionName,b.bio,b.socialMedia,b.qRCode,b.remark,b.sumViews,b.viewsByDay,b.createUserId,b.createTime,b.updateUserId,b.updateTime,b.sendBusinessCardTimes,
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert
id=
"insert"
parameterType=
"StaffEntity"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into mortals_xhx_staff
...
...
@@ -572,6 +605,14 @@
</trim>
<include
refid=
"_orderCols_"
/>
</select>
<!-- 获取子列表 -->
<select
id=
"getBussinesscardByStaffId"
parameterType=
"java.lang.Long"
resultMap=
"BussinesscardEntity-Map"
>
select
<include
refid=
"_columns_sub"
/>
from mortals_xhx_bussinesscard as b
<trim
suffixOverrides=
"where"
suffix=
""
>
where b.staffId = #{id}
</trim>
</select>
...
...
enterprise-manager/src/test/java/com/mortals/httpclient/bussinesscard/BussinesscardController.http
0 → 100644
View file @
da13f514
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###名片基本信息列表
POST {{baseUrl}}/bussinesscard/list
Content-Type: application/json
{
"name":"vnayhk",
"page":1,
"size":10
}
###名片基本信息更新与保存
POST {{baseUrl}}/bussinesscard/save
Authorization: {{authToken}}
Content-Type: application/json
{
"staffId":337,
"staffName":"c3wyon",
"name":"8vgaa5",
"gender":1,
"birthday":"1696867200000",
"photoPath":"61am9c",
"email":"g7vq3t",
"phoneNumber":"9cwg6l",
"idCard":"6vhk76",
"companyId":"v8ffsl",
"companyName":"y7mpfu",
"positionId":289,
"positionName":"0euhd1",
"bio":"yhqz2z",
"socialMedia":"8gn733",
"qRCode":"s8fol9",
"remark":"sm5979",
"sumViews":0,
"viewsByDay":0,
}
> {%
client.global.set("Bussinesscard_id", JSON.parse(response.body).data.id);
%}
###名片基本信息查看
GET {{baseUrl}}/bussinesscard/info?id={{Bussinesscard_id}}
Accept: application/json
###名片基本信息编辑
GET {{baseUrl}}/bussinesscard/edit?id={{Bussinesscard_id}}
Accept: application/json
###名片基本信息删除
GET {{baseUrl}}/bussinesscard/delete?id={{Bussinesscard_id}}
Authorization: {{authToken}}
Accept: application/json
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