Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
8
8timerapiv200
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
8timerv2
8timerapiv200
Commits
0b309ac0
Commit
0b309ac0
authored
May 23, 2020
by
dengshichuan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dsc' into 'develop'
Dsc See merge request 8timerv2/8timerapiv200!115
parents
a41b62c6
7856b36b
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
167 additions
and
24 deletions
+167
-24
src/main/java/cn/timer/api/controller/dzht/DzhtController2.java
+14
-6
src/main/java/cn/timer/api/controller/dzht/cn/tign/hz/helper/SignHelper.java
+13
-8
src/main/java/cn/timer/api/controller/qyzx/QyzxBusinessController.java
+24
-7
src/main/java/cn/timer/api/utils/CheckUtil.java
+107
-0
src/main/java/cn/timer/api/utils/aliyun/OSSUtil.java
+9
-3
No files found.
src/main/java/cn/timer/api/controller/dzht/DzhtController2.java
View file @
0b309ac0
...
...
@@ -504,6 +504,7 @@ public class DzhtController2 {
qyzxUseRecord
.
setOrgCode
(
orgCode
);
qyzxUseRecord
.
setUseNum
(
1
);
qyzxUseRecord
.
setScene
(
"签署中"
);
qyzxUseRecord
.
setPmid
(
2
);
qyzxUseRecord
.
setFlowId
(
flowId
);
qyzxUseRecord
.
insert
();
...
...
@@ -894,19 +895,21 @@ public class DzhtController2 {
@ApiOperation
(
value
=
"获取签署地址"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
Object
>
qrySignUrl
(
@CurrentUser
UserBean
userBean
,
@RequestParam
String
flowId
,
@RequestParam
(
required
=
false
)
String
organizeId
,
@RequestParam
(
required
=
false
)
String
urlType
)
{
JSONObject
json
Object
=
null
;
JSONObject
json
=
null
;
try
{
QueryWrapper
<
DzhtAssoGrzc
>
queryWrapper
=
new
QueryWrapper
<
DzhtAssoGrzc
>();
queryWrapper
.
eq
(
"emp_num"
,
userBean
.
getEmpNum
()).
select
(
"account_id"
);
String
accountId
=
DzhtAssoGrzc
.
builder
().
build
().
selectOne
(
queryWrapper
).
getAccountId
();
TokenHelper
.
getTokenData
();
// 获取鉴权
json
Object
=
SignHelper
.
qrySignUrl
(
flowId
,
accountId
,
organizeId
,
urlType
);
json
=
SignHelper
.
qrySignUrl
(
flowId
,
accountId
,
organizeId
,
urlType
);
}
catch
(
DefineException
e
)
{
e
.
printStackTrace
();
return
ResultUtil
.
error
();
}
return
ResultUtil
.
data
(
jsonObject
,
"获取成功"
);
if
(
json
!=
null
&&
json
.
getLong
(
"code"
)
!=
0
)
return
ResultUtil
.
error
(
json
.
getString
(
"message"
));
return
ResultUtil
.
data
(
json
.
getJSONObject
(
"data"
),
"成功"
);
}
// 流程签署人催签
...
...
@@ -942,7 +945,11 @@ public class DzhtController2 {
if
(
grzc
!=
null
)
{
operatorId
=
grzc
.
getAccountId
();
}
SignHelper
.
revokeSignFlow
(
flowId
,
revokeReason
,
operatorId
);
JSONObject
json
=
SignHelper
.
revokeSignFlow
(
flowId
,
revokeReason
,
operatorId
);
if
(
json
!=
null
&&
json
.
getLong
(
"code"
)
!=
0
)
{
return
ResultUtil
.
error
(
json
.
getString
(
"message"
));
}
}
catch
(
DefineException
e
)
{
e
.
printStackTrace
();
return
ResultUtil
.
error
();
...
...
@@ -974,9 +981,10 @@ public class DzhtController2 {
json
=
SignHelper
.
downloadFlowDoc
(
flowId
);
}
catch
(
DefineException
e
)
{
e
.
printStackTrace
();
return
ResultUtil
.
error
();
}
return
ResultUtil
.
data
(
json
,
"成功"
);
if
(
json
!=
null
&&
json
.
getLong
(
"code"
)
!=
0
)
return
ResultUtil
.
error
(
json
.
getString
(
"message"
));
return
ResultUtil
.
data
(
json
.
getJSONObject
(
"data"
),
"成功"
);
}
/**
...
...
src/main/java/cn/timer/api/controller/dzht/cn/tign/hz/helper/SignHelper.java
View file @
0b309ac0
...
...
@@ -89,13 +89,16 @@ public class SignHelper {
* @param flowId 创建签署流程时返回的签署流程ID
* @throws DefineException
* @author 宫清
* @param operatorId
* @param operatorId
* @return
* @date 2019年7月21日 下午5:38:42
*/
public
static
void
revokeSignFlow
(
String
flowId
,
String
revokeReason
,
String
operatorId
)
throws
DefineException
{
public
static
JSONObject
revokeSignFlow
(
String
flowId
,
String
revokeReason
,
String
operatorId
)
throws
DefineException
{
String
param
=
SignParamUtil
.
revokeSignFlowParam
(
revokeReason
,
operatorId
);
JSONObject
json
=
HttpHelper
.
doCommHttp
(
RequestType
.
PUT
,
ConfigConstant
.
revokeFlows_URL
(
flowId
),
param
);
JSONHelper
.
castDataJson
(
json
,
Object
.
class
);
JSONObject
json
=
HttpHelper
.
doCommHttp
(
RequestType
.
PUT
,
ConfigConstant
.
revokeFlows_URL
(
flowId
),
param
);
// JSONHelper.castDataJson(json, Object.class);
return
json
;
}
/**
...
...
@@ -176,7 +179,8 @@ public class SignHelper {
*/
public
static
JSONObject
downloadFlowDoc
(
String
flowId
)
throws
DefineException
{
JSONObject
json
=
HttpHelper
.
doCommHttp
(
RequestType
.
GET
,
ConfigConstant
.
aboutDocument_URL
(
flowId
,
null
),
null
);
return
JSONHelper
.
castDataJson
(
json
,
JSONObject
.
class
);
// return JSONHelper.castDataJson(json, JSONObject.class);
return
json
;
}
// ------------------------------------------------------------------------------------------------流程文档相关end-----------------------
...
...
@@ -360,7 +364,7 @@ public class SignHelper {
* @author 宫清
* @date 2019年7月21日 下午8:09:07
*/
public
static
JSONObject
addSignerHandSignArea
(
String
flowId
,
List
<
Signfield
>
list
)
throws
DefineException
{
public
static
JSONObject
addSignerHandSignArea
(
String
flowId
,
List
<
Signfield
>
list
)
throws
DefineException
{
String
param
=
SignParamUtil
.
addSignerHandSignAreaParam
(
list
);
JSONObject
json
=
HttpHelper
.
doCommHttp
(
RequestType
.
POST
,
ConfigConstant
.
addHandSignfieldsForPerson_URL
(
flowId
),
...
...
@@ -426,7 +430,7 @@ public class SignHelper {
* @param flowId 创建签署流程时返回的签署流程ID
* @throws DefineException
* @author 宫清
* @return
* @return
* @date 2019年7月21日 下午9:27:41
*/
public
static
JSONObject
rushSign
(
String
flowId
,
String
accoundId
,
String
noticeTypes
,
String
rushsignAccountId
)
...
...
@@ -458,7 +462,8 @@ public class SignHelper {
throws
DefineException
{
JSONObject
json
=
HttpHelper
.
doCommHttp
(
RequestType
.
GET
,
ConfigConstant
.
Sign_URL
(
flowId
,
accountId
,
organizeId
,
urlType
),
null
);
return
JSONHelper
.
castDataJson
(
json
,
JSONObject
.
class
);
// return JSONHelper.castDataJson(json, JSONObject.class);
return
json
;
}
// ------------------------------------------------------------------------------------------------流程签署人相关end----------------------
...
...
src/main/java/cn/timer/api/controller/qyzx/QyzxBusinessController.java
View file @
0b309ac0
...
...
@@ -26,6 +26,7 @@ import org.springframework.web.bind.annotation.RestController;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.StringUtils
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.github.pagehelper.Page
;
import
com.github.pagehelper.PageHelper
;
...
...
@@ -33,9 +34,9 @@ import com.github.pagehelper.PageHelper;
import
cn.hutool.core.date.DateUnit
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
cn.timer.api.bean.dzht.DzhtSignflowFinish
;
import
cn.timer.api.bean.qyzx.QyzxEntInfoM
;
import
cn.timer.api.bean.qyzx.QyzxSms
;
import
cn.timer.api.bean.qyzx.businessService.QyzxBuyRecord
;
...
...
@@ -215,8 +216,9 @@ public class QyzxBusinessController {
QueryWrapper
<
QyzxBuyRecord
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
and
(
query
!=
null
&&
query
!=
""
,
wq
->
wq
.
like
(
"order_no"
,
query
).
or
().
like
(
"content"
,
query
));
queryWrapper
.
between
(
s
!=
null
&&
s
!=
""
&&
e
!=
null
&&
e
!=
""
,
"create_time"
,
!
StrUtil
.
hasBlank
(
s
)
?
s
:
"1000-01-01 00:00:00"
,
!
StrUtil
.
hasBlank
(
e
)
?
e
:
"9999-01-01 00:00:00"
);
queryWrapper
.
lambda
().
ge
(
StringUtils
.
isNotBlank
(
s
),
QyzxBuyRecord:
:
getCreateTime
,
s
)
.
le
(
StringUtils
.
isNotBlank
(
e
),
QyzxBuyRecord:
:
getCreateTime
,
e
);
Page
<
Object
>
page
=
PageHelper
.
startPage
(
pageNum
,
pageSize
);
List
<
QyzxBuyRecord
>
list
=
QyzxBuyRecord
.
builder
().
build
().
selectList
(
queryWrapper
);
return
ResultUtil
.
pageData
(
list
,
page
.
getTotal
(),
"查询成功"
);
...
...
@@ -286,11 +288,18 @@ public class QyzxBusinessController {
@GetMapping
(
value
=
"/queryMsgUseRecord"
)
@ApiOperation
(
value
=
"查询短信使用记录"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
List
<
QyzxUseRecord
>>
queryMsgUseRecord
(
@CurrentUser
UserBean
userBean
,
String
orderNo
)
{
return
ResultUtil
.
data
(
QyzxUseRecord
.
builder
().
build
()
public
Result
<
List
<
QyzxUseRecord
>>
queryMsgUseRecord
(
@CurrentUser
UserBean
userBean
,
@RequestParam
(
required
=
false
)
String
orderNo
,
@RequestParam
(
required
=
false
)
String
startTime
,
@RequestParam
(
required
=
false
)
String
endTime
,
@RequestParam
(
defaultValue
=
"1"
)
int
pageNum
,
@RequestParam
(
defaultValue
=
"10"
)
int
pageSize
)
{
Page
<
Object
>
page
=
PageHelper
.
startPage
(
pageNum
,
pageSize
);
List
<
QyzxUseRecord
>
list
=
QyzxUseRecord
.
builder
().
build
()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxUseRecord
>().
eq
(
QyzxUseRecord:
:
getOrgCode
,
userBean
.
getOrgCode
())
.
eq
(
QyzxUseRecord:
:
getPmid
,
1
).
eq
(
orderNo
!=
null
,
QyzxUseRecord:
:
getOrderNo
,
orderNo
)),
"查询成功"
);
.
eq
(
QyzxUseRecord:
:
getPmid
,
1
)
.
eq
(
StringUtils
.
isNotBlank
(
orderNo
),
QyzxUseRecord:
:
getOrderNo
,
orderNo
)
.
ge
(
StringUtils
.
isNotBlank
(
startTime
),
QyzxUseRecord:
:
getCreateTime
,
startTime
)
.
le
(
StringUtils
.
isNotBlank
(
endTime
),
QyzxUseRecord:
:
getCreateTime
,
endTime
));
return
ResultUtil
.
pageData
(
list
,
page
.
getTotal
(),
"查询成功"
);
}
@GetMapping
(
value
=
"/queryMsgUseDetal/{id}"
)
...
...
@@ -312,4 +321,12 @@ public class QyzxBusinessController {
"查询成功"
);
}
@GetMapping
(
value
=
"/queryContractUseDetail"
)
@ApiOperation
(
value
=
"查询电子合同使用详情(流程结束后)"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
Object
>
queryContractUseDetail
(
@CurrentUser
UserBean
userBean
,
String
flowId
)
{
return
ResultUtil
.
data
(
DzhtSignflowFinish
.
builder
().
build
().
selectOne
(
new
LambdaQueryWrapper
<
DzhtSignflowFinish
>().
eq
(
flowId
!=
null
,
DzhtSignflowFinish:
:
getFlowId
,
flowId
)),
"查询成功"
);
}
}
src/main/java/cn/timer/api/utils/CheckUtil.java
0 → 100644
View file @
0b309ac0
/**
* <p>Title: CheckUtil.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年5月21日
* @version 1.0
*/
package
cn
.
timer
.
api
.
utils
;
import
java.lang.reflect.Field
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* <p>
* Title: CheckUtil.java
* </p>
* <p>
* Description: 判断对象是否包含空值
* </p>
*
* @author dsc
* @date 2020年5月21日
* @version 1.0
*/
public
class
CheckUtil
{
/**
* 检查对象是否有空字段
*
* @param obj 实体对象
* @return 有则返回true
*/
public
static
<
T
>
boolean
checkObjFieldIsNull
(
T
obj
)
{
boolean
flag
=
false
;
for
(
Field
f
:
obj
.
getClass
().
getDeclaredFields
())
{
f
.
setAccessible
(
true
);
try
{
if
(
f
.
get
(
obj
)
==
null
)
{
flag
=
true
;
return
flag
;
}
}
catch
(
IllegalArgumentException
|
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
}
return
flag
;
}
/**
* 交集
*
* @param <T>
* @param list1
* @param list2
* @return list1与list2中相同的字段list
*/
public
static
<
T
>
List
<
T
>
intersection
(
List
<
T
>
list1
,
List
<
T
>
list2
)
{
return
list1
.
stream
().
filter
(
item
->
list2
.
contains
(
item
)).
collect
(
Collectors
.
toList
());
}
/**
* 列表取差集
*
* @param <T>
* @param list1
* @param list2
* @return list2中未包含list1的参数list
*/
public
static
<
T
>
List
<
T
>
reduce
(
List
<
T
>
list1
,
List
<
T
>
list2
)
{
return
list1
.
stream
().
filter
(
item
->
!
list2
.
contains
(
item
)).
collect
(
Collectors
.
toList
());
}
/**
* 并集
*
* @param <T>
* @param list1
* @param list2
* @param isDistinct 是否去重
* @return
*/
public
static
<
T
>
List
<
T
>
distinct
(
List
<
T
>
list1
,
List
<
T
>
list2
,
boolean
isDistinct
)
{
list1
.
addAll
(
list2
);
if
(!
isDistinct
)
return
list1
;
return
list1
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
}
// public static void main(String[] args) {
// List<String> list1 = new ArrayList<String>();
// list1.add("a");
// list1.add("b");
// list1.add("c");
// list1.add("d");
// list1.add("3");
// List<String> list2 = new ArrayList<String>();
// list2.add("a");
// list2.add("b");
// list2.add("e");
// list2.add("3");
// System.err.println(intersection(list1, list2));
// System.err.println(reduce(list1, list2));
// System.err.println(distinct(list1, list2, false));
// }
}
src/main/java/cn/timer/api/utils/aliyun/OSSUtil.java
View file @
0b309ac0
...
...
@@ -28,6 +28,8 @@ import com.aliyun.oss.model.OSSObjectSummary;
import
com.aliyun.oss.model.ObjectListing
;
import
com.aliyun.oss.model.PutObjectRequest
;
import
cn.hutool.core.date.DateField
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.timer.api.utils.Result
;
import
cn.timer.api.utils.ResultUtil
;
...
...
@@ -119,7 +121,9 @@ public class OSSUtil {
ossClient
.
putObject
(
putObjectRequest
);
// 设置URL过期时间为100年。 1s 1h 1d 1y 100y
Date
expiration
=
new
Date
(
new
Date
().
getTime
()
+
1000
*
3600
*
24
*
365
*
100
);
// Date expiration = new Date(new Date().getTime() + 1000L * 3600 * 24 * 365 * 100);
Date
now
=
new
Date
();
Date
expiration
=
DateUtil
.
offset
(
now
,
DateField
.
YEAR
,
100
);
// 一百年之后过期
// 生成以GET方法访问的签名URL,访客可以直接通过浏览器访问相关内容。
URL
url
=
ossClient
.
generatePresignedUrl
(
bucketName
,
path
,
expiration
);
System
.
err
.
println
(
url
);
...
...
@@ -360,7 +364,8 @@ public class OSSUtil {
/**
* 删除多个文件
* @param keys 需要删除的文件。
*
* @param keys 需要删除的文件。
* @param quiet 返回模式。true表示简单模式,false表示详细模式。默认为详细模式。
* @return 删除结果。详细模式下为删除成功的文件列表,简单模式下为删除失败的文件列表。
*/
...
...
@@ -393,6 +398,7 @@ public class OSSUtil {
/**
* 删除指定前缀(prefix)的文件
*
* @param prefix
*/
public
void
delPrefixWith
(
String
prefix
)
{
...
...
@@ -434,7 +440,7 @@ public class OSSUtil {
// 关闭OSSClient。
ossClient
.
shutdown
();
}
/*
* (跨域资源) // Endpoint以杭州为例,其它Region请按实际情况填写。 String endpoint =
* "http://oss-cn-hangzhou.aliyuncs.com"; //
...
...
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