Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_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
赵啸非
smart_gov_platform
Commits
a64f5e1f
Commit
a64f5e1f
authored
Apr 11, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加文件压缩
parent
af27b65d
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
174 additions
and
64 deletions
+174
-64
base-manager/src/main/java/com/mortals/xhx/base/framework/CustomJsonDateDeserializer.java
...ortals/xhx/base/framework/CustomJsonDateDeserializer.java
+0
-37
base-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java
...hx/base/system/upload/service/impl/UploadServiceImpl.java
+12
-11
base-manager/src/main/java/com/mortals/xhx/module/skin/model/vo/SkinBaseVo.java
...java/com/mortals/xhx/module/skin/model/vo/SkinBaseVo.java
+3
-4
base-manager/src/main/java/com/mortals/xhx/module/skin/service/SkinBaseService.java
.../com/mortals/xhx/module/skin/service/SkinBaseService.java
+9
-0
base-manager/src/main/java/com/mortals/xhx/module/skin/service/impl/SkinBaseServiceImpl.java
...als/xhx/module/skin/service/impl/SkinBaseServiceImpl.java
+107
-6
base-manager/src/main/java/com/mortals/xhx/module/skin/web/SkinBaseController.java
...a/com/mortals/xhx/module/skin/web/SkinBaseController.java
+43
-6
No files found.
base-manager/src/main/java/com/mortals/xhx/base/framework/CustomJsonDateDeserializer.java
deleted
100644 → 0
View file @
af27b65d
package
com.mortals.xhx.base.framework
;
import
com.fasterxml.jackson.core.JsonParser
;
import
com.fasterxml.jackson.databind.DeserializationContext
;
import
com.fasterxml.jackson.databind.JsonDeserializer
;
import
org.springframework.util.ObjectUtils
;
import
java.io.IOException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
/**
* @author: zxfei
* @date: 2022/6/30 10:49
* @description:
**/
public
class
CustomJsonDateDeserializer
extends
JsonDeserializer
<
Date
>
{
@Override
public
Date
deserialize
(
JsonParser
jp
,
DeserializationContext
ctxt
)
throws
IOException
{
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
String
date
=
jp
.
getText
();
if
(!
ObjectUtils
.
isEmpty
(
date
))
{
try
{
return
format
.
parse
(
date
);
}
catch
(
ParseException
e
)
{
return
null
;
}
}
else
{
return
null
;
}
}
}
base-manager/src/main/java/com/mortals/xhx/base/system/upload/service/impl/UploadServiceImpl.java
View file @
a64f5e1f
...
@@ -2,6 +2,7 @@ package com.mortals.xhx.base.system.upload.service.impl;
...
@@ -2,6 +2,7 @@ package com.mortals.xhx.base.system.upload.service.impl;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.StrUtil
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.service.IUser
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.framework.util.StringUtils
;
...
@@ -43,7 +44,6 @@ public class UploadServiceImpl implements UploadService {
...
@@ -43,7 +44,6 @@ public class UploadServiceImpl implements UploadService {
private
String
filePath
;
private
String
filePath
;
@Override
@Override
public
String
saveFileUpload
(
MultipartFile
tempFile
,
String
prePath
,
IUser
user
)
{
public
String
saveFileUpload
(
MultipartFile
tempFile
,
String
prePath
,
IUser
user
)
{
if
(
tempFile
==
null
||
tempFile
.
getSize
()
==
0
)
{
if
(
tempFile
==
null
||
tempFile
.
getSize
()
==
0
)
{
...
@@ -70,7 +70,7 @@ public class UploadServiceImpl implements UploadService {
...
@@ -70,7 +70,7 @@ public class UploadServiceImpl implements UploadService {
File
uploadFile
=
new
File
(
filePathAll
);
File
uploadFile
=
new
File
(
filePathAll
);
try
{
try
{
log
.
info
(
"文件正在储存,filepath:"
+
filePathAll
);
log
.
info
(
"文件正在储存,filepath:"
+
filePathAll
);
tempFile
.
transferTo
(
uploadFile
);
tempFile
.
transferTo
(
uploadFile
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
throw
new
AppException
(
e
.
getMessage
());
throw
new
AppException
(
e
.
getMessage
());
...
@@ -81,7 +81,10 @@ public class UploadServiceImpl implements UploadService {
...
@@ -81,7 +81,10 @@ public class UploadServiceImpl implements UploadService {
@Override
@Override
public
String
getFilePath
(
String
path
)
{
public
String
getFilePath
(
String
path
)
{
String
filePath
=
this
.
filePath
.
endsWith
(
"/"
)
?
this
.
filePath
:
this
.
filePath
+
"/"
;
// xxx/xxx/
String
filePath
=
StrUtil
.
appendIfMissing
(
this
.
filePath
,
"/"
);
path
=
StrUtil
.
removePrefix
(
path
,
"/"
);
StrUtil
.
prependIfMissing
(
path
,
"/"
,
"/"
);
return
filePath
+
path
;
return
filePath
+
path
;
}
}
...
@@ -101,7 +104,7 @@ public class UploadServiceImpl implements UploadService {
...
@@ -101,7 +104,7 @@ public class UploadServiceImpl implements UploadService {
@Override
@Override
public
void
preview
(
String
fileName
,
HttpServletResponse
response
)
{
public
void
preview
(
String
fileName
,
HttpServletResponse
response
)
{
String
filePath
=
this
.
filePath
+
"/file/preview/"
+
fileName
;
String
filePath
=
this
.
filePath
+
"/file/preview/"
+
fileName
;
try
{
try
{
response
.
setContentType
(
MediaType
.
IMAGE_JPEG_VALUE
);
response
.
setContentType
(
MediaType
.
IMAGE_JPEG_VALUE
);
setAttachmentResponseHeader
(
response
,
fileName
);
setAttachmentResponseHeader
(
response
,
fileName
);
...
@@ -119,8 +122,7 @@ public class UploadServiceImpl implements UploadService {
...
@@ -119,8 +122,7 @@ public class UploadServiceImpl implements UploadService {
* @param realFileName 真实文件名
* @param realFileName 真实文件名
* @return
* @return
*/
*/
public
void
setAttachmentResponseHeader
(
HttpServletResponse
response
,
String
realFileName
)
throws
UnsupportedEncodingException
public
void
setAttachmentResponseHeader
(
HttpServletResponse
response
,
String
realFileName
)
throws
UnsupportedEncodingException
{
{
String
percentEncodedFileName
=
percentEncode
(
realFileName
);
String
percentEncodedFileName
=
percentEncode
(
realFileName
);
StringBuilder
contentDispositionValue
=
new
StringBuilder
();
StringBuilder
contentDispositionValue
=
new
StringBuilder
();
...
@@ -140,8 +142,7 @@ public class UploadServiceImpl implements UploadService {
...
@@ -140,8 +142,7 @@ public class UploadServiceImpl implements UploadService {
* @param s 需要百分号编码的字符串
* @param s 需要百分号编码的字符串
* @return 百分号编码后的字符串
* @return 百分号编码后的字符串
*/
*/
public
String
percentEncode
(
String
s
)
throws
UnsupportedEncodingException
public
String
percentEncode
(
String
s
)
throws
UnsupportedEncodingException
{
{
String
encode
=
URLEncoder
.
encode
(
s
,
StandardCharsets
.
UTF_8
.
toString
());
String
encode
=
URLEncoder
.
encode
(
s
,
StandardCharsets
.
UTF_8
.
toString
());
return
encode
.
replaceAll
(
"\\+"
,
"%20"
);
return
encode
.
replaceAll
(
"\\+"
,
"%20"
);
}
}
...
@@ -149,7 +150,7 @@ public class UploadServiceImpl implements UploadService {
...
@@ -149,7 +150,7 @@ public class UploadServiceImpl implements UploadService {
@Override
@Override
public
void
uploadDownload
(
String
fileName
,
HttpServletResponse
response
)
{
public
void
uploadDownload
(
String
fileName
,
HttpServletResponse
response
)
{
String
filePath
=
this
.
filePath
+
fileName
;
String
filePath
=
this
.
filePath
+
fileName
;
try
{
try
{
response
.
setContentType
(
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
);
response
.
setContentType
(
MediaType
.
APPLICATION_OCTET_STREAM_VALUE
);
setAttachmentResponseHeader
(
response
,
fileName
);
setAttachmentResponseHeader
(
response
,
fileName
);
...
@@ -161,7 +162,7 @@ public class UploadServiceImpl implements UploadService {
...
@@ -161,7 +162,7 @@ public class UploadServiceImpl implements UploadService {
@Override
@Override
public
void
deleteFile
(
String
fileName
)
{
public
void
deleteFile
(
String
fileName
)
{
String
filePath
=
this
.
filePath
+
fileName
;
String
filePath
=
this
.
filePath
+
fileName
;
try
{
try
{
FileUtil
.
del
(
filePath
);
FileUtil
.
del
(
filePath
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
...
...
base-manager/src/main/java/com/mortals/xhx/module/skin/model/vo/SkinBaseVo.java
View file @
a64f5e1f
...
@@ -19,14 +19,13 @@ public class SkinBaseVo extends BaseEntityLong {
...
@@ -19,14 +19,13 @@ public class SkinBaseVo extends BaseEntityLong {
private
String
productCode
;
private
String
productCode
;
private
String
imageResolutionValue
;
private
String
imageResolutionValue
;
private
String
serverName
;
private
String
serverName
;
private
Integer
serverPort
;
private
Integer
serverPort
;
/** 属性列表 */
/** 属性列表 */
private
List
<
SkinFieldEntity
>
skinFieldList
;
private
List
<
SkinFieldEntity
>
skinFieldList
;
private
String
localZipPath
;
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/skin/service/SkinBaseService.java
View file @
a64f5e1f
package
com.mortals.xhx.module.skin.service
;
package
com.mortals.xhx.module.skin.service
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.skin.model.SkinBaseEntity
;
import
com.mortals.xhx.module.skin.model.SkinBaseEntity
;
/**
/**
* SkinBaseService
* SkinBaseService
*
*
...
@@ -11,4 +14,10 @@ import com.mortals.xhx.module.skin.model.SkinBaseEntity;
...
@@ -11,4 +14,10 @@ import com.mortals.xhx.module.skin.model.SkinBaseEntity;
*/
*/
public
interface
SkinBaseService
extends
ICRUDService
<
SkinBaseEntity
,
Long
>{
public
interface
SkinBaseService
extends
ICRUDService
<
SkinBaseEntity
,
Long
>{
Rest
<
byte
[]>
compressSkinZip
(
SkinBaseEntity
query
,
Context
context
);
Rest
<
Void
>
updateResourcePath
(
SkinBaseEntity
query
,
Context
context
);
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/skin/service/impl/SkinBaseServiceImpl.java
View file @
a64f5e1f
package
com.mortals.xhx.module.skin.service.impl
;
package
com.mortals.xhx.module.skin.service.impl
;
import
cn.hutool.core.io.FileUtil
;
import
cn.hutool.core.lang.Validator
;
import
cn.hutool.core.lang.Validator
;
import
cn.hutool.core.net.URLDecoder
;
import
cn.hutool.core.net.URLDecoder
;
import
cn.hutool.core.net.url.UrlBuilder
;
import
cn.hutool.core.net.url.UrlBuilder
;
import
cn.hutool.core.util.CharsetUtil
;
import
cn.hutool.core.util.CharsetUtil
;
import
cn.hutool.core.util.ReUtil
;
import
cn.hutool.core.util.ReUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.core.util.ZipUtil
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.PageInfo
;
...
@@ -34,6 +37,7 @@ import freemarker.template.Template;
...
@@ -34,6 +37,7 @@ import freemarker.template.Template;
import
org.apache.commons.fileupload.FileItem
;
import
org.apache.commons.fileupload.FileItem
;
import
org.apache.commons.fileupload.FileItemFactory
;
import
org.apache.commons.fileupload.FileItemFactory
;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory
;
import
org.apache.commons.fileupload.disk.DiskFileItemFactory
;
import
org.apache.commons.io.IOUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.MediaType
;
...
@@ -43,11 +47,16 @@ import org.springframework.web.multipart.MultipartFile;
...
@@ -43,11 +47,16 @@ import org.springframework.web.multipart.MultipartFile;
import
org.springframework.web.multipart.commons.CommonsMultipartFile
;
import
org.springframework.web.multipart.commons.CommonsMultipartFile
;
import
java.io.*
;
import
java.io.*
;
import
java.nio.file.CopyOption
;
import
java.nio.file.StandardCopyOption
;
import
java.util.Arrays
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
java.util.zip.ZipEntry
;
import
java.util.zip.ZipFile
;
import
java.util.zip.ZipOutputStream
;
/**
/**
...
@@ -119,7 +128,6 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
...
@@ -119,7 +128,6 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
item
.
setSkinFieldList
(
skinFieldEntities
);
item
.
setSkinFieldList
(
skinFieldEntities
);
if
(!
ObjectUtils
.
isEmpty
(
item
.
getPreviewImagePath
()))
{
if
(!
ObjectUtils
.
isEmpty
(
item
.
getPreviewImagePath
()))
{
// UrlBuilder builder = UrlBuilder.ofHttp(domainUrl, CharsetUtil.CHARSET_UTF_8).addPath(item.getPreviewImagePath());
// UrlBuilder builder = UrlBuilder.ofHttp(domainUrl, CharsetUtil.CHARSET_UTF_8).addPath(item.getPreviewImagePath());
String
fieldUrl
=
String
.
format
(
"%s%s"
,
domainUrl
,
StrUtil
.
prependIfMissing
(
item
.
getPreviewImagePath
(),
"/"
,
"/"
));
String
fieldUrl
=
String
.
format
(
"%s%s"
,
domainUrl
,
StrUtil
.
prependIfMissing
(
item
.
getPreviewImagePath
(),
"/"
,
"/"
));
// item.setPreviewImagePath(builder.build());
// item.setPreviewImagePath(builder.build());
item
.
setPreviewImagePath
(
fieldUrl
);
item
.
setPreviewImagePath
(
fieldUrl
);
...
@@ -203,7 +211,7 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
...
@@ -203,7 +211,7 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
SkinFieldEntity
skinFieldEntity
=
new
SkinFieldEntity
();
SkinFieldEntity
skinFieldEntity
=
new
SkinFieldEntity
();
BeanUtils
.
copyProperties
(
field
,
skinFieldEntity
,
BeanUtil
.
getNullPropertyNames
(
field
));
BeanUtils
.
copyProperties
(
field
,
skinFieldEntity
,
BeanUtil
.
getNullPropertyNames
(
field
));
if
(
"2"
.
equals
(
skinFieldEntity
.
getFieldType
()))
{
if
(
"2"
.
equals
(
skinFieldEntity
.
getFieldType
()))
{
String
result
=
StrUtil
.
prependIfMissing
(
skinFieldEntity
.
getFieldValue
(),
"/"
,
"/"
);
String
result
=
StrUtil
.
prependIfMissing
(
skinFieldEntity
.
getFieldValue
(),
"/"
,
"/"
);
skinFieldEntity
.
setFieldValue
(
result
);
skinFieldEntity
.
setFieldValue
(
result
);
}
}
...
@@ -291,15 +299,108 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
...
@@ -291,15 +299,108 @@ public class SkinBaseServiceImpl extends AbstractCRUDServiceImpl<SkinBaseDao, Sk
}
}
/**
* 临时方法 归类下载
* @param context
* @return
*/
@Override
public
Rest
<
byte
[]>
compressSkinZip
(
SkinBaseEntity
query
,
Context
context
)
{
String
sourcePathZip
=
uploadService
.
getFilePath
(
query
.
getLocalZipPath
());
File
zipFile
=
new
File
(
sourcePathZip
);
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
ZipOutputStream
zip
=
new
ZipOutputStream
(
outputStream
);
//查询所有
List
<
SkinBaseEntity
>
skinBaseEntities
=
this
.
find
(
new
SkinBaseEntity
());
for
(
SkinBaseEntity
skinBaseEntity
:
skinBaseEntities
)
{
String
cssFilePath
=
skinBaseEntity
.
getCssFilePath
();
String
filePath
=
uploadService
.
getFilePath
(
cssFilePath
);
File
file
=
new
File
(
filePath
);
if
(!
file
.
exists
())
{
continue
;
}
ZipUtil
.
append
(
zipFile
.
toPath
(),
file
.
toPath
(),
StandardCopyOption
.
REPLACE_EXISTING
);
/*
try {
zip.putNextEntry(new ZipEntry(filePath));
zip.flush();
zip.closeEntry();
} catch (IOException e) {
}*/
}
/* IOUtils.closeQuietly(zip);
File downloadFile = new File("/home/css.zip");
FileUtil.writeToStream(downloadFile, outputStream);*/
byte
[]
bytes
=
FileUtil
.
readBytes
(
zipFile
);
return
Rest
.
ok
(
bytes
);
}
/**
* 刷新所有资源路径,补全/
*
* @param context
* @return
*/
@Override
public
Rest
<
Void
>
updateResourcePath
(
SkinBaseEntity
query
,
Context
context
)
{
List
<
SkinBaseEntity
>
skinBaseEntities
=
this
.
find
(
new
SkinBaseEntity
());
for
(
SkinBaseEntity
skinBaseEntity
:
skinBaseEntities
)
{
skinBaseEntity
.
setCssFilePath
(
StrUtil
.
appendIfMissing
(
skinBaseEntity
.
getCssFilePath
(),
"/"
));
skinBaseEntity
.
setPreviewImagePath
(
StrUtil
.
appendIfMissing
(
skinBaseEntity
.
getPreviewImagePath
(),
"/"
));
}
this
.
update
(
skinBaseEntities
,
context
);
SkinFieldEntity
skinFieldQuery
=
new
SkinFieldEntity
();
skinFieldQuery
.
setFieldType
(
"2"
);
List
<
SkinFieldEntity
>
skinFieldEntities
=
skinFieldService
.
find
(
skinFieldQuery
);
for
(
SkinFieldEntity
skinFieldEntity
:
skinFieldEntities
)
{
skinFieldEntity
.
setFieldValue
(
StrUtil
.
appendIfMissing
(
skinFieldEntity
.
getFieldValue
(),
"/"
));
}
skinFieldService
.
update
(
skinFieldEntities
,
context
);
return
Rest
.
ok
();
}
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
String
str
=
"/file/upload/12332.png"
;
/*
String str = "/file/upload/12332.png";
String result = StrUtil.prependIfMissing(str, "/", "/");
String result = StrUtil.prependIfMissing(str, "/", "/");
System
.
out
.
println
(
result
);
System.out.println(result);*/
String
str
=
"/file/upload/12332.png"
;
}
String
s
=
StrUtil
.
replaceFirst
(
str
,
"/file/upload/"
,
"/file/upload/abc/"
);
System
.
out
.
println
(
s
);
/*
File appendFile = new File("E:\\pic");
File zipFile = new File("F:\\1.zip");
//CopyOption copyOption = new CopyOption();
ZipUtil.append(zipFile.toPath(), appendFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
*/
// ZipUtil.zip("F:\\1.zip");
/* File file = new File("F:\\1.zip");
ZipFile zipFile = ZipUtil.toZipFile(file, null);*/
//zipFile.
}
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/skin/web/SkinBaseController.java
View file @
a64f5e1f
...
@@ -9,6 +9,8 @@ import com.mortals.framework.annotation.UnAuth;
...
@@ -9,6 +9,8 @@ import com.mortals.framework.annotation.UnAuth;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.util.DataUtil
;
import
com.mortals.framework.util.DataUtil
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
...
@@ -16,10 +18,12 @@ import com.mortals.xhx.common.key.Constant;
...
@@ -16,10 +18,12 @@ import com.mortals.xhx.common.key.Constant;
import
com.mortals.xhx.module.product.model.ProductEntity
;
import
com.mortals.xhx.module.product.model.ProductEntity
;
import
com.mortals.xhx.module.product.model.ProductQuery
;
import
com.mortals.xhx.module.product.model.ProductQuery
;
import
com.mortals.xhx.module.product.service.ProductService
;
import
com.mortals.xhx.module.product.service.ProductService
;
import
com.mortals.xhx.module.site.model.SiteBusinessEntity
;
import
com.mortals.xhx.module.skin.model.SkinFieldEntity
;
import
com.mortals.xhx.module.skin.model.SkinFieldEntity
;
import
com.mortals.xhx.module.skin.model.SkinFieldQuery
;
import
com.mortals.xhx.module.skin.model.SkinFieldQuery
;
import
com.mortals.xhx.module.skin.service.SkinFieldService
;
import
com.mortals.xhx.module.skin.service.SkinFieldService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.io.IOUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
@@ -37,6 +41,7 @@ import com.mortals.xhx.module.skin.service.SkinBaseService;
...
@@ -37,6 +41,7 @@ import com.mortals.xhx.module.skin.service.SkinBaseService;
import
org.apache.commons.lang3.ArrayUtils
;
import
org.apache.commons.lang3.ArrayUtils
;
import
com.mortals.framework.util.StringUtils
;
import
com.mortals.framework.util.StringUtils
;
import
java.io.IOException
;
import
java.net.URLDecoder
;
import
java.net.URLDecoder
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
...
@@ -77,7 +82,6 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
...
@@ -77,7 +82,6 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
@Override
@Override
protected
void
doListBefore
(
SkinBaseEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
protected
void
doListBefore
(
SkinBaseEntity
query
,
Map
<
String
,
Object
>
model
,
Context
context
)
throws
AppException
{
if
(!
ObjectUtils
.
isEmpty
(
query
.
getProductCode
()))
{
if
(!
ObjectUtils
.
isEmpty
(
query
.
getProductCode
()))
{
ProductEntity
productEntity
=
productService
.
selectOne
(
new
ProductQuery
().
productCode
(
query
.
getProductCode
()));
ProductEntity
productEntity
=
productService
.
selectOne
(
new
ProductQuery
().
productCode
(
query
.
getProductCode
()));
if
(!
ObjectUtils
.
isEmpty
(
productEntity
))
{
if
(!
ObjectUtils
.
isEmpty
(
productEntity
))
{
...
@@ -96,7 +100,6 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
...
@@ -96,7 +100,6 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
@Override
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"imageResolution"
,
paramService
.
getParamBySecondOrganize
(
"SkinBase"
,
"imageResolution"
));
this
.
addDict
(
model
,
"imageResolution"
,
paramService
.
getParamBySecondOrganize
(
"SkinBase"
,
"imageResolution"
));
super
.
init
(
model
,
context
);
super
.
init
(
model
,
context
);
}
}
...
@@ -111,7 +114,7 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
...
@@ -111,7 +114,7 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
String
domainUrl
=
""
;
String
domainUrl
=
""
;
if
(!
ObjectUtils
.
isEmpty
(
serverName
)
&&
Validator
.
isIpv4
(
serverName
))
{
if
(!
ObjectUtils
.
isEmpty
(
serverName
)
&&
Validator
.
isIpv4
(
serverName
))
{
domainUrl
=
String
.
format
(
"http://%s:%d"
,
serverName
,
serverPort
>
0
?
serverPort
:
11078
);
domainUrl
=
String
.
format
(
"http://%s:%d"
,
serverName
,
serverPort
>
0
?
serverPort
:
11078
);
}
else
{
}
else
{
boolean
isDomain
=
ReUtil
.
isMatch
(
"^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\\.[a-zA-Z]{2,}$"
,
entity
.
getServerName
());
boolean
isDomain
=
ReUtil
.
isMatch
(
"^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\\.[a-zA-Z]{2,}$"
,
entity
.
getServerName
());
if
(
isDomain
)
{
if
(
isDomain
)
{
...
@@ -121,7 +124,6 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
...
@@ -121,7 +124,6 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
}
}
}
}
for
(
SkinFieldEntity
field
:
skinFieldEntities
)
{
for
(
SkinFieldEntity
field
:
skinFieldEntities
)
{
if
(
"2"
.
equals
(
field
.
getFieldType
()))
{
if
(
"2"
.
equals
(
field
.
getFieldType
()))
{
String
fieldUrl
=
String
.
format
(
"%s/%s"
,
domainUrl
,
field
.
getFieldValue
());
String
fieldUrl
=
String
.
format
(
"%s/%s"
,
domainUrl
,
field
.
getFieldValue
());
...
@@ -129,10 +131,45 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
...
@@ -129,10 +131,45 @@ public class SkinBaseController extends BaseCRUDJsonBodyMappingController<SkinBa
}
}
}
}
entity
.
setSkinFieldList
(
skinFieldEntities
);
entity
.
setSkinFieldList
(
skinFieldEntities
);
return
super
.
viewAfter
(
id
,
model
,
entity
,
context
);
return
super
.
viewAfter
(
id
,
model
,
entity
,
context
);
}
}
/**
* 获取皮肤所有相关资源文件并压缩打包成zip
*/
@PostMapping
(
value
=
"skinzip"
)
public
String
skinzip
(
@RequestBody
SkinBaseEntity
query
)
{
JSONObject
jsonObject
=
new
JSONObject
();
try
{
Rest
<
byte
[]>
rest
=
this
.
service
.
compressSkinZip
(
query
,
getContext
());
genCode
(
response
,
rest
.
getData
());
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
jsonObject
.
put
(
KEY_RESULT_MSG
,
"压缩文件成功!"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"获取异常"
,
e
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
jsonObject
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
}
return
jsonObject
.
toJSONString
();
}
/**
* 生成zip文件
*/
private
void
genCode
(
HttpServletResponse
response
,
byte
[]
data
)
throws
IOException
{
response
.
reset
();
response
.
addHeader
(
"Access-Control-Allow-Origin"
,
"*"
);
response
.
addHeader
(
"Access-Control-Expose-Headers"
,
"Content-Disposition"
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment; filename=\"skin.zip\""
);
response
.
addHeader
(
"Content-Length"
,
""
+
data
.
length
);
response
.
setContentType
(
"application/octet-stream; charset=UTF-8"
);
IOUtils
.
write
(
data
,
response
.
getOutputStream
());
}
}
}
\ 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