Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
chuanshan_gov_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
廖旭伟
chuanshan_gov_platform
Commits
0445dac9
Commit
0445dac9
authored
Mar 11, 2023
by
廖旭伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
事项预览次数接口,事项材料本地新增后自动转换图片
parent
8610a603
Changes
7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
268 additions
and
149 deletions
+268
-149
single-matter/doc/api.md
single-matter/doc/api.md
+121
-146
single-matter/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterDatumFileServiceImpl.java
...odule/matter/service/impl/MatterDatumFileServiceImpl.java
+61
-0
single-matter/src/main/java/com/mortals/xhx/module/site/model/vo/SiteMatterVo.java
...va/com/mortals/xhx/module/site/model/vo/SiteMatterVo.java
+10
-0
single-matter/src/main/java/com/mortals/xhx/module/site/service/SiteMatterService.java
...om/mortals/xhx/module/site/service/SiteMatterService.java
+5
-0
single-matter/src/main/java/com/mortals/xhx/module/site/service/impl/SiteMatterServiceImpl.java
...s/xhx/module/site/service/impl/SiteMatterServiceImpl.java
+51
-1
single-matter/src/main/java/com/mortals/xhx/module/site/web/SiteMatterController.java
...com/mortals/xhx/module/site/web/SiteMatterController.java
+15
-0
single-matter/src/main/resources/sqlmap/module/matter/MatterDatumMapper.xml
...main/resources/sqlmap/module/matter/MatterDatumMapper.xml
+5
-2
No files found.
single-matter/doc/api.md
View file @
0445dac9
This diff is collapsed.
Click to expand it.
single-matter/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterDatumFileServiceImpl.java
View file @
0445dac9
package
com.mortals.xhx.module.matter.service.impl
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.RandomUtil
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.xhx.common.utils.HttpDownloadUtil
;
import
com.mortals.xhx.common.utils.WordUtil
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.xhx.module.matter.dao.MatterDatumFileDao
;
...
...
@@ -6,6 +12,8 @@ import com.mortals.xhx.module.matter.model.MatterDatumFileEntity;
import
com.mortals.xhx.module.matter.service.MatterDatumFileService
;
import
javax.naming.Context
;
import
java.io.File
;
import
java.io.FileNotFoundException
;
import
java.util.HashMap
;
import
java.util.Map
;
...
...
@@ -19,10 +27,63 @@ import java.util.Map;
@Service
(
"matterDatumFileService"
)
public
class
MatterDatumFileServiceImpl
extends
AbstractCRUDServiceImpl
<
MatterDatumFileDao
,
MatterDatumFileEntity
,
Long
>
implements
MatterDatumFileService
{
@Value
(
"${upload.path}"
)
private
String
filePath
;
public
static
String
word
[]
=
{
"doc"
,
"dot"
,
"wps"
,
"wpt"
,
"docx"
,
"dotx"
,
"docm"
,
"dotm"
};
public
static
String
imgs
[]
=
{
"jpg"
,
"png"
,
"jpeg"
,
"gif"
};
public
static
String
pdf
[]
=
{
"pdf"
};
@Override
public
void
deleteFileByDatumId
(
Long
datumId
,
Context
context
)
{
Map
<
String
,
Object
>
condition
=
new
HashMap
<>();
condition
.
put
(
"datumId"
,
datumId
);
this
.
dao
.
delete
(
condition
);
}
@Override
protected
void
saveBefore
(
MatterDatumFileEntity
entity
,
com
.
mortals
.
framework
.
model
.
Context
context
)
throws
AppException
{
this
.
validData
(
entity
,
context
);
String
rootPath
=
this
.
filePath
.
endsWith
(
"/"
)
?
this
.
filePath
:
this
.
filePath
+
"/"
;
String
prePath
=
"file/preview/"
;
String
savePath
=
entity
.
getLocalFileUrl
();
String
newName
=
genPreviewPath
(
rootPath
,
prePath
,
savePath
);
entity
.
setPreviewUrl
(
prePath
+
newName
);
}
private
String
genPreviewPath
(
String
rootPath
,
String
prePath
,
String
tempPath
)
{
//生成样表预览图片
String
samplePath
=
rootPath
+
tempPath
;
String
filePath
=
rootPath
+
prePath
;
File
pathDir
=
new
File
(
filePath
);
if
(!
pathDir
.
exists
())
{
pathDir
.
mkdirs
();
}
String
newName
=
RandomUtil
.
randomNumbers
(
12
)
+
".jpg"
;
String
filePathAll
=
filePath
+
newName
;
//判断文件类型是否为doc pdf jpg png 等
String
extName
=
FileUtil
.
getSuffix
(
samplePath
);
if
(
this
.
isExsitArry
(
extName
,
word
))
{
WordUtil
.
convertWordToJPEG
(
samplePath
,
filePathAll
);
}
else
if
(
this
.
isExsitArry
(
extName
,
pdf
))
{
WordUtil
.
pdfToImages
(
samplePath
,
filePathAll
);
}
else
if
(
this
.
isExsitArry
(
extName
,
imgs
))
{
try
{
com
.
mortals
.
framework
.
util
.
FileUtil
.
copyFile
(
samplePath
,
filePathAll
);
}
catch
(
FileNotFoundException
e
)
{
throw
new
RuntimeException
(
e
);
}
}
return
newName
;
}
public
boolean
isExsitArry
(
String
chex
,
String
arry
[])
{
for
(
String
ex
:
arry
)
{
if
(
chex
.
equalsIgnoreCase
(
ex
))
{
return
true
;
}
}
return
false
;
}
}
\ No newline at end of file
single-matter/src/main/java/com/mortals/xhx/module/site/model/vo/SiteMatterVo.java
View file @
0445dac9
...
...
@@ -11,4 +11,14 @@ import java.util.List;
*/
public
class
SiteMatterVo
extends
BaseEntityLong
{
/** 材料数量 */
private
Integer
datumCount
;
public
Integer
getDatumCount
()
{
return
datumCount
;
}
public
void
setDatumCount
(
Integer
datumCount
)
{
this
.
datumCount
=
datumCount
;
}
}
\ No newline at end of file
single-matter/src/main/java/com/mortals/xhx/module/site/service/SiteMatterService.java
View file @
0445dac9
...
...
@@ -11,4 +11,9 @@ import com.mortals.xhx.module.site.model.SiteMatterEntity;
*/
public
interface
SiteMatterService
extends
ICRUDService
<
SiteMatterEntity
,
Long
>{
/**
* 增加浏览次数
* @param id
*/
void
addViewsCount
(
Long
id
);
}
\ No newline at end of file
single-matter/src/main/java/com/mortals/xhx/module/site/service/impl/SiteMatterServiceImpl.java
View file @
0445dac9
package
com.mortals.xhx.module.site.service.impl
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.xhx.module.matter.model.MatterDatumEntity
;
import
com.mortals.xhx.module.matter.model.MatterDatumFileEntity
;
import
com.mortals.xhx.module.matter.model.MatterDatumFileQuery
;
import
com.mortals.xhx.module.matter.model.MatterDatumQuery
;
import
com.mortals.xhx.module.matter.service.MatterDatumService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
...
...
@@ -6,6 +14,11 @@ import com.mortals.framework.model.Context;
import
com.mortals.xhx.module.site.dao.SiteMatterDao
;
import
com.mortals.xhx.module.site.model.SiteMatterEntity
;
import
com.mortals.xhx.module.site.service.SiteMatterService
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* SiteMatterService
* 站点事项 service实现
...
...
@@ -15,5 +28,42 @@ import com.mortals.xhx.module.site.service.SiteMatterService;
*/
@Service
(
"siteMatterService"
)
public
class
SiteMatterServiceImpl
extends
AbstractCRUDServiceImpl
<
SiteMatterDao
,
SiteMatterEntity
,
Long
>
implements
SiteMatterService
{
@Autowired
private
MatterDatumService
matterDatumService
;
@Override
protected
void
findAfter
(
SiteMatterEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
SiteMatterEntity
>
list
)
throws
AppException
{
list
.
stream
().
peek
(
item
->{
List
<
MatterDatumEntity
>
matterDatumFileEntities
=
matterDatumService
.
find
(
new
MatterDatumQuery
().
matterId
(
item
.
getMatterId
()));
if
(
CollectionUtils
.
isNotEmpty
(
matterDatumFileEntities
))
{
item
.
setDatumCount
(
matterDatumFileEntities
.
size
());
}
else
{
item
.
setDatumCount
(
0
);
}
}).
count
();
super
.
findAfter
(
params
,
context
,
list
);
}
@Override
protected
void
findAfter
(
SiteMatterEntity
params
,
Context
context
,
List
<
SiteMatterEntity
>
list
)
throws
AppException
{
list
.
stream
().
peek
(
item
->{
List
<
MatterDatumEntity
>
matterDatumFileEntities
=
matterDatumService
.
find
(
new
MatterDatumQuery
().
matterId
(
item
.
getMatterId
()));
if
(
CollectionUtils
.
isNotEmpty
(
matterDatumFileEntities
))
{
item
.
setDatumCount
(
matterDatumFileEntities
.
size
());
}
else
{
item
.
setDatumCount
(
0
);
}
}).
count
();
super
.
findAfter
(
params
,
context
,
list
);
}
@Override
public
void
addViewsCount
(
Long
id
)
{
Map
<
String
,
Object
>
data
=
new
HashMap
<>();
data
.
put
(
"viewsCountIncrement"
,
1
);
Map
<
String
,
Object
>
condition
=
new
HashMap
<>();
condition
.
put
(
"id"
,
id
);
dao
.
update
(
data
,
condition
);
}
}
\ No newline at end of file
single-matter/src/main/java/com/mortals/xhx/module/site/web/SiteMatterController.java
View file @
0445dac9
package
com.mortals.xhx.module.site.web
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.module.site.model.SiteMatterEntity
;
import
com.mortals.xhx.module.site.model.SiteMatterQuery
;
import
com.mortals.xhx.module.site.service.SiteMatterService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
*
...
...
@@ -34,5 +37,17 @@ public class SiteMatterController extends BaseCRUDJsonBodyMappingController<Site
super
.
init
(
model
,
context
);
}
@Override
protected
void
doListBefore
(
SiteMatterEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
Map
<
String
,
String
>
orderMap
=
new
HashMap
<>();
orderMap
.
put
(
"viewsCount"
,
"DESC"
);
query
.
setOrderCols
(
orderMap
);
super
.
doListBefore
(
query
,
model
,
context
);
}
@Override
protected
int
viewAfter
(
Long
id
,
Map
<
String
,
Object
>
model
,
SiteMatterEntity
entity
,
Context
context
)
throws
AppException
{
this
.
service
.
addViewsCount
(
id
);
return
1
;
}
}
\ No newline at end of file
single-matter/src/main/resources/sqlmap/module/matter/MatterDatumMapper.xml
View file @
0445dac9
...
...
@@ -36,14 +36,17 @@
<resultMap
type=
"MatterDatumFileEntity"
id=
"MatterDatumFileEntity-Map"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"datumId"
column=
"datumId"
/>
<result
property=
"matterCode"
column=
"matterCode"
/>
<result
property=
"materialName"
column=
"materialName"
/>
<result
property=
"fileName"
column=
"fileName"
/>
<result
property=
"fileUrl"
column=
"fileUrl"
/>
<result
property=
"localFileUrl"
column=
"localFileUrl"
/>
<result
property=
"filetype"
column=
"filetype"
/>
<result
property=
"source"
column=
"source"
/>
<result
property=
"previewUrl"
column=
"previewUrl"
/>
<result
property=
"createTime"
column=
"createTime"
/>
<result
property=
"createUserId"
column=
"createUserId"
/>
<result
property=
"updateTime"
column=
"updateTime"
/>
<result
property=
"materialName"
column=
"materialName"
/>
</resultMap>
...
...
@@ -133,7 +136,7 @@
<!-- 子表所有列 -->
<sql
id=
"_columns_sub"
>
<trim
suffixOverrides=
","
suffix=
""
>
b.id,b.datumId,b.
fileName,b.fileUrl,b.filetype,b.source
,b.createTime,b.createUserId,b.updateTime,b.materialName,
b.id,b.datumId,b.
matterCode,b.materialName,b.fileName,b.fileUrl,b.filetype,b.source,b.localFileUrl,b.previewUrl
,b.createTime,b.createUserId,b.updateTime,b.materialName,
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
...
...
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