Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
certificate-print
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
廖旭伟
certificate-print
Commits
60a91d94
Commit
60a91d94
authored
May 11, 2023
by
廖旭伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
微中台数据转换功能:食品经营许可证转证照,企业法人查询
parent
88bec448
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
515 additions
and
0 deletions
+515
-0
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/BizRet.java
.../src/main/java/com/mortals/xhx/module/mid/pdu/BizRet.java
+14
-0
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/CertificateSurface.java
...va/com/mortals/xhx/module/mid/pdu/CertificateSurface.java
+18
-0
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidCertificateDataVO.java
.../com/mortals/xhx/module/mid/pdu/MidCertificateDataVO.java
+38
-0
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidCertificatePdu.java
...ava/com/mortals/xhx/module/mid/pdu/MidCertificatePdu.java
+23
-0
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidIfResultInfo.java
.../java/com/mortals/xhx/module/mid/pdu/MidIfResultInfo.java
+9
-0
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidIfResultInfoData.java
...a/com/mortals/xhx/module/mid/pdu/MidIfResultInfoData.java
+13
-0
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidIfResultInfoHead.java
...a/com/mortals/xhx/module/mid/pdu/MidIfResultInfoHead.java
+9
-0
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidResponseData.java
.../java/com/mortals/xhx/module/mid/pdu/MidResponseData.java
+16
-0
certificate-manager/src/main/java/com/mortals/xhx/module/mid/web/DataInterfaceController.java
...m/mortals/xhx/module/mid/web/DataInterfaceController.java
+237
-0
certificate-manager/src/main/java/com/mortals/xhx/module/record/service/ApplyLogService.java
...om/mortals/xhx/module/record/service/ApplyLogService.java
+8
-0
certificate-manager/src/main/java/com/mortals/xhx/module/record/service/impl/ApplyLogServiceImpl.java
...s/xhx/module/record/service/impl/ApplyLogServiceImpl.java
+68
-0
common-lib/src/main/java/com/mortals/xhx/common/pdu/mid/MidReq.java
.../src/main/java/com/mortals/xhx/common/pdu/mid/MidReq.java
+23
-0
common-lib/src/main/java/com/mortals/xhx/feign/mid/IMidFeign.java
...ib/src/main/java/com/mortals/xhx/feign/mid/IMidFeign.java
+39
-0
No files found.
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/BizRet.java
0 → 100644
View file @
60a91d94
package
com.mortals.xhx.module.mid.pdu
;
import
lombok.Data
;
/**
* 业务回执数据
*/
@Data
public
class
BizRet
{
/** 结果编码 */
private
String
ifResult
;
/** 结果信息JSON字符串 */
private
String
ifResultInfo
;
}
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/CertificateSurface.java
0 → 100644
View file @
60a91d94
package
com.mortals.xhx.module.mid.pdu
;
import
lombok.Data
;
/**
* 微中台证照接口返回证照信息
*/
@Data
public
class
CertificateSurface
{
/** 项目列名称 */
private
String
columnName
;
/** 项目名称 */
private
String
name
;
/** 项目值 */
private
String
value
;
/** 值类型 */
private
String
valueType
;
}
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidCertificateDataVO.java
0 → 100644
View file @
60a91d94
package
com.mortals.xhx.module.mid.pdu
;
import
lombok.Data
;
import
java.util.List
;
/**
* 微中台证照接口返回证照数据
*/
@Data
public
class
MidCertificateDataVO
{
/** 证照类型 */
private
String
certificateType
;
/** 证照名称 */
private
String
certificateName
;
/** 证照持有者 */
private
String
certificateHolder
;
/** 证照持有者编码 */
private
String
certificateHolderCode
;
/** 证照持有者类型 */
private
String
certificateHolderType
;
/** 发证机关 */
private
String
issueDept
;
/** 发证机关单位编码 */
private
String
issueDeptCode
;
/** 证照编号 */
private
String
certificateNumber
;
/** 证照类型编码 */
private
String
certificateTypeCode
;
/** 发证时间 */
private
String
issueDate
;
/** 证照有效期开始时间 */
private
String
certificateValidateStart
;
/** 证照有效期截止时间 */
private
String
certificateValidateEnd
;
/** 证照照面信息 */
private
List
<
CertificateSurface
>
surface
;
}
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidCertificatePdu.java
0 → 100644
View file @
60a91d94
package
com.mortals.xhx.module.mid.pdu
;
import
lombok.Data
;
@Data
public
class
MidCertificatePdu
{
/** 证照持有者编码 */
private
String
certificateHolderCode
;
/** 证照持有者类型 */
private
String
certificateHolderType
;
/** 证照类型 */
private
String
certificateType
;
/** 证照编号 */
private
String
certificateNumber
;
/** 使用说明 */
private
String
useFor
;
/*** 取件人姓名 */
private
String
pickerName
;
/** 取件人证件号码 */
private
String
pickerIDCardNo
;
/** 二维码地址 */
private
String
qRCodeUrl
;
}
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidIfResultInfo.java
0 → 100644
View file @
60a91d94
package
com.mortals.xhx.module.mid.pdu
;
import
lombok.Data
;
@Data
public
class
MidIfResultInfo
{
private
MidIfResultInfoHead
head
;
private
MidIfResultInfoData
data
;
}
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidIfResultInfoData.java
0 → 100644
View file @
60a91d94
package
com.mortals.xhx.module.mid.pdu
;
import
com.alibaba.fastjson.JSONPObject
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
MidIfResultInfoData
{
private
int
total
;
private
List
<
MidCertificateDataVO
>
dataList
;
private
List
<
JSONPObject
>
detail
;
}
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidIfResultInfoHead.java
0 → 100644
View file @
60a91d94
package
com.mortals.xhx.module.mid.pdu
;
import
lombok.Data
;
@Data
public
class
MidIfResultInfoHead
{
private
String
message
;
private
String
status
;
}
certificate-manager/src/main/java/com/mortals/xhx/module/mid/pdu/MidResponseData.java
0 → 100644
View file @
60a91d94
package
com.mortals.xhx.module.mid.pdu
;
import
lombok.Data
;
/**
* 微中台响应数据
*/
@Data
public
class
MidResponseData
{
/** 响应编码 */
private
String
code
;
/** 响应消息 */
private
String
msg
;
/** 业务回执数据 */
private
BizRet
bizRet
;
}
certificate-manager/src/main/java/com/mortals/xhx/module/mid/web/DataInterfaceController.java
0 → 100644
View file @
60a91d94
This diff is collapsed.
Click to expand it.
certificate-manager/src/main/java/com/mortals/xhx/module/record/service/ApplyLogService.java
View file @
60a91d94
...
...
@@ -58,4 +58,12 @@ public interface ApplyLogService extends ICRUDService<ApplyLogEntity,Long>{
* @throws AppException
*/
void
apiSaveApplyLog
(
ApplyLogPdu
pdu
)
throws
AppException
;
/***
* 微中台接口数据转存
* @param pdu
* @param classifyId
* @throws AppException
*/
void
midSaveApplyLog
(
ApplyLogPdu
pdu
,
Long
classifyId
)
throws
AppException
;
}
\ No newline at end of file
certificate-manager/src/main/java/com/mortals/xhx/module/record/service/impl/ApplyLogServiceImpl.java
View file @
60a91d94
...
...
@@ -23,6 +23,7 @@ import com.mortals.xhx.base.system.user.service.UserService;
import
com.mortals.xhx.common.code.*
;
import
com.mortals.xhx.common.utils.*
;
import
com.mortals.xhx.module.certificate.model.CertificateCatalogEntity
;
import
com.mortals.xhx.module.certificate.model.CertificateCatalogQuery
;
import
com.mortals.xhx.module.certificate.model.CertificateClassifyEntity
;
import
com.mortals.xhx.module.certificate.pdu.ApplyLogPdu
;
import
com.mortals.xhx.module.certificate.service.CertificateCatalogService
;
...
...
@@ -32,6 +33,7 @@ import com.mortals.xhx.module.record.model.ApplyLogQuery;
import
com.mortals.xhx.module.record.model.DocTemplateVO
;
import
com.mortals.xhx.module.record.model.RecordEntity
;
import
com.mortals.xhx.module.record.service.PrintWaitQueueService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.http.entity.ContentType
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -567,4 +569,70 @@ public class ApplyLogServiceImpl extends AbstractCRUDServiceImpl<ApplyLogDao, Ap
}
}
@Override
public
void
midSaveApplyLog
(
ApplyLogPdu
pdu
,
Long
classifyId
)
throws
AppException
{
List
<
CertificateCatalogEntity
>
catalogEntityList
=
this
.
certificateCatalogService
.
find
(
new
CertificateCatalogQuery
().
classifyId
(
classifyId
));
if
(
CollectionUtils
.
isNotEmpty
(
catalogEntityList
)){
for
(
CertificateCatalogEntity
catalogEntity:
catalogEntityList
){
ApplyLogEntity
entity
=
new
ApplyLogEntity
();
entity
.
setCatalogId
(
catalogEntity
.
getId
());
entity
.
setCatalogCode
(
catalogEntity
.
getCatalogCode
());
entity
.
setCatalogName
(
catalogEntity
.
getCatalogName
());
entity
.
setCertificateCode
(
pdu
.
getCertificateCode
());
entity
.
setCertificateName
(
pdu
.
getCertificateName
());
entity
.
setHolderName
(
pdu
.
getHolderName
());
entity
.
setHolderType
(
pdu
.
getHolderType
());
entity
.
setHolderIdType
(
pdu
.
getHolderIdType
());
entity
.
setHolderIDCardNo
(
pdu
.
getHolderIDCardNo
());
entity
.
setPickerName
(
pdu
.
getPickerName
());
entity
.
setPickerIDCardNo
(
pdu
.
getPickerIDCardNo
());
entity
.
setIssueTime
(
pdu
.
getIssueTime
());
entity
.
setPrivateID
(
pdu
.
getPrivateID
());
entity
.
setEnterpriseName
(
pdu
.
getEnterpriseName
());
entity
.
setCreateUserId
(
1L
);
JSONObject
formContent
=
JSONObject
.
parseObject
(
pdu
.
getFormContent
());
Map
<
String
,
String
>
formMap
=
new
HashMap
<>();
formContent
.
forEach
((
key
,
value
)
->
{
//图片处理
if
(
key
.
indexOf
(
"@image"
)
!=
-
1
)
{
String
base64
=
String
.
valueOf
(
value
);
if
(
StringUtils
.
isEmpty
(
base64
)){
throw
new
AppException
(
"图片不能为空"
);
}
String
imageName
=
new
Date
().
getTime
()
+
".png"
;
String
imagePath
=
"/file/uploadfile/"
+
imageName
;
String
filePath
=
this
.
filePath
.
endsWith
(
"/"
)
?
this
.
filePath
:
this
.
filePath
+
"/"
+
imagePath
;
try
{
ImageBase64
.
convertImg
(
base64
.
trim
(),
filePath
);
formMap
.
put
(
key
,
imagePath
);
}
catch
(
Exception
e
){
log
.
error
(
"base64图片转换异常"
,
e
.
fillInStackTrace
());
formMap
.
put
(
key
,
""
);
}
}
else
{
formMap
.
put
(
key
,
String
.
valueOf
(
value
));
}
});
entity
.
setFormContent
(
JSONObject
.
toJSONString
(
formMap
));
JSONObject
formTemplate
=
JSONObject
.
parseObject
(
catalogEntity
.
getFormContent
());
JSONArray
formList
=
formTemplate
.
getJSONArray
(
"list"
);
JSONObject
json
=
new
JSONObject
();
for
(
int
j
=
0
;
j
<
formList
.
size
();
j
++)
{
JSONObject
jsonObject
=
formList
.
getJSONObject
(
j
);
String
key
=
jsonObject
.
getString
(
"id"
);
json
.
put
(
key
,
formMap
.
get
(
key
));
}
entity
.
setFormTemplate
(
formTemplate
.
toJSONString
());
try
{
this
.
generateOriginal
(
entity
,
null
);
}
catch
(
Exception
e
){
log
.
error
(
"微中台数据生成证照失败"
,
e
.
fillInStackTrace
());
throw
new
AppException
(
"微中台数据生成证照失败"
);
}
}
}
else
{
throw
new
AppException
(
"目录类型不正确,无法找到相应证照目录"
);
}
}
}
\ No newline at end of file
common-lib/src/main/java/com/mortals/xhx/common/pdu/mid/MidReq.java
0 → 100644
View file @
60a91d94
package
com.mortals.xhx.common.pdu.mid
;
import
lombok.Data
;
/**
* 微中台请求接口
* @author:
* @date: 2023/3/2 18:08
*/
@Data
public
class
MidReq
{
private
String
method
;
private
String
body
;
private
String
path
;
//1 sha加密 2 rsa加密提交
private
Integer
type
;
}
common-lib/src/main/java/com/mortals/xhx/feign/mid/IMidFeign.java
0 → 100644
View file @
60a91d94
package
com.mortals.xhx.feign.mid
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.xhx.common.pdu.RespData
;
import
com.mortals.xhx.common.pdu.mid.MidReq
;
import
feign.hystrix.FallbackFactory
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
@FeignClient
(
name
=
"base-manager"
,
path
=
"/base"
,
fallbackFactory
=
MidFeignFallbackFactory
.
class
)
public
interface
IMidFeign
{
/**
* 微中台透传接口
* @param midReq
* @return
*/
@PostMapping
(
value
=
"/mid/trans"
)
Rest
<
String
>
trans
(
@RequestBody
MidReq
midReq
);
}
@Slf4j
@Component
class
MidFeignFallbackFactory
implements
FallbackFactory
<
IMidFeign
>
{
@Override
public
IMidFeign
create
(
Throwable
cause
)
{
return
new
IMidFeign
(){
@Override
public
Rest
<
String
>
trans
(
MidReq
midReq
)
{
return
Rest
.
fail
(
"暂时无法获取微中台透传接口,请稍后再试!"
);
}
};
}
}
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