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
b88aeda6
Commit
b88aeda6
authored
Apr 26, 2020
by
邓实川
Committed by
chenzg
Jul 05, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
短信、电子合同使用约束
parent
aba92717
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
285 additions
and
93 deletions
+285
-93
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxRemainingQuantity.java
+2
-2
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxScene.java
+6
-5
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxUseRecord.java
+5
-2
src/main/java/cn/timer/api/callback/wx/WxCallBackController.java
+6
-1
src/main/java/cn/timer/api/controller/LoginController.java
+20
-11
src/main/java/cn/timer/api/controller/dzht/DzhtController2.java
+54
-14
src/main/java/cn/timer/api/controller/htzz/HtzzController.java
+20
-9
src/main/java/cn/timer/api/controller/qyzx/QyzxBusinessController.java
+76
-34
src/main/java/cn/timer/api/utils/aliyun/AliyunSMS.java
+96
-11
src/main/java/cn/timer/api/utils/schedule/RemindUtil.java
+0
-4
No files found.
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxRemainingQuantity.java
View file @
b88aeda6
...
...
@@ -55,8 +55,8 @@ public class QyzxRemainingQuantity extends Model<QyzxRemainingQuantity>{
@ApiModelProperty
(
value
=
"付费模块id"
,
example
=
"1"
)
private
Integer
pmid
;
//
@ApiModelProperty(value="付费内容id",example="1")
//
private Integer pcid;
@ApiModelProperty
(
value
=
"付费内容id"
,
example
=
"1"
)
private
Integer
pcid
;
@ApiModelProperty
(
value
=
"订单号"
,
example
=
"1"
)
private
String
orderNo
;
...
...
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxScene.java
View file @
b88aeda6
...
...
@@ -20,13 +20,14 @@ import lombok.Getter;
@Getter
@AllArgsConstructor
public
enum
QyzxScene
{
MSG_LOGIN
(
1
,
"短信登录"
),
MSG_AUTHENTICATION
(
1
,
"短信身份验证"
),
MSG_LOGIN_CONFIRM
(
1
,
"短信登录确认"
),
MSG_REGISTER
(
1
,
"短信用户注册"
),
MSG_CHANGE_PWD
(
1
,
"修改密码"
),
MSG_CHANGE_UNAME
(
1
,
"修改用户名"
),
MSG_CHANGE_PHONE
(
1
,
"修改手机号"
),
MSG_CHANGE_IMP
(
1
,
"修改重要信息"
),
MSG_REMIND
(
1
,
"证照提醒"
),
CONTRACT_SINGLE
(
2
,
"
修改密码
"
),
CONTRACT_BOTH
(
2
,
"
用户注册
"
);
CONTRACT_SINGLE
(
2
,
"
单签
"
),
CONTRACT_BOTH
(
2
,
"
双方签
"
);
private
final
Integer
code
;
private
final
String
message
;
...
...
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxUseRecord.java
View file @
b88aeda6
...
...
@@ -59,7 +59,7 @@ public class QyzxUseRecord extends Model<QyzxUseRecord>{
private
String
orderNo
;
@ApiModelProperty
(
value
=
"使用场景"
,
example
=
"1"
)
private
Integer
scene
;
private
String
scene
;
@ApiModelProperty
(
value
=
"使用数量"
,
example
=
"1"
)
private
Integer
useNum
;
...
...
@@ -78,5 +78,8 @@ public class QyzxUseRecord extends Model<QyzxUseRecord>{
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人 "
,
example
=
""
)
private
Integer
createUser
;
private
String
createUser
;
@ApiModelProperty
(
value
=
"使用人手机号 "
,
example
=
""
)
private
String
userPhone
;
}
src/main/java/cn/timer/api/callback/wx/WxCallBackController.java
View file @
b88aeda6
...
...
@@ -81,6 +81,10 @@ public class WxCallBackController {
if
(!
env
.
equals
(
"dev"
)
&&
!
env
.
equals
(
"test"
))
{
return
ResultUtil
.
error
(
"请切换到开发/测试环境"
);
}
// TODO 加套餐 如果已经存在可用的套餐 ,怎么搞
updateAndInsert
(
orderNo
);
return
ResultUtil
.
data
(
orderNo
,
"购买成功"
);
}
...
...
@@ -118,7 +122,8 @@ public class WxCallBackController {
quantity
.
setRemainder
(
totalNum
);
// 套餐剩余数(同上)
quantity
.
setCount
(
count
);
// 购买数量
quantity
.
setPmid
(
pmid
);
// 付费模块id
// quantity.setPcid(pcid); // 付费内容id
quantity
.
setPcid
(
pcid
);
// 付费内容id
quantity
.
setUnit
(
unit
);
quantity
.
setCreateUser
(
createdUser
);
quantity
.
setOrgCode
(
orgCode
);
quantity
.
insert
();
...
...
src/main/java/cn/timer/api/controller/LoginController.java
View file @
b88aeda6
...
...
@@ -87,17 +87,26 @@ public class LoginController {
@ApiOperation
(
value
=
"1.发送验证码"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperationSupport
(
order
=
1
)
public
Result
<
String
>
sendCode
(
@RequestBody
EntRegisterDto
entRegisterDto
)
{
String
phone
=
entRegisterDto
.
getPhone
();
Integer
orgCode
=
QyzxEmpLogin
.
builder
().
build
()
.
selectOne
(
new
LambdaQueryWrapper
<
QyzxEmpLogin
>().
eq
(
QyzxEmpLogin:
:
getPhone
,
phone
)).
getOrgId
();
QyzxRemainingQuantity
quantity
=
QyzxRemainingQuantity
.
builder
().
build
()
.
selectOne
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>()
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
)
.
orderByAsc
(
QyzxRemainingQuantity:
:
getExpireDate
));
if
(
quantity
==
null
||
quantity
.
getRemainder
()
==
null
||
quantity
.
getRemainder
()
<=
0
)
{
//判断充了钱没
return
ResultUtil
.
error
(
"请充值后使用短信功能"
);
QyzxRemainingQuantity
quantity
=
QyzxRemainingQuantity
.
builder
().
build
().
selectOne
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>().
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
)
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
1
).
gt
(
QyzxRemainingQuantity:
:
getRemainder
,
0
));
Date
date
=
null
;
Integer
remainder
=
null
;
if
(
quantity
!=
null
)
{
remainder
=
quantity
.
getRemainder
();
date
=
quantity
.
getExpireDate
();
}
if
(
quantity
==
null
||
remainder
==
null
||
remainder
<=
0
)
{
// 判断充了钱没
return
ResultUtil
.
error
(
"请充值后使用短信功能!"
);
}
if
(
date
!=
null
&&
date
.
getTime
()
<=
new
Date
().
getTime
())
{
System
.
err
.
println
(
"企业 "
+
orgCode
+
" :短信套餐已过期"
);
return
ResultUtil
.
error
(
"短信套餐已到期!"
);
}
// 6位随机数验证码
...
...
@@ -105,19 +114,19 @@ public class LoginController {
Integer
code
=
(
int
)
((
Math
.
random
()
*
9
+
1
)
*
100000
);
AliyunSMS
aliyunSMS
=
new
AliyunSMS
();
if
(
phone
==
null
||
""
.
equals
(
phone
))
{
phone
=
entRegisterDto
.
getUsername
();
entRegisterDto
.
setPhone
(
phone
);
}
JSONObject
j
=
aliyunSMS
.
authCode
(
entRegisterDto
,
entRegisterDto
.
getTc
(),
code
);
// 获取当前日期的字符串格式
String
today
=
DateUtil
.
today
();
// yyyy-MM-dd
today
=
today
.
replace
(
"-"
,
""
);
Thread
.
sleep
(
5
00
);
Thread
.
sleep
(
10
00
);
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
.
parseObject
(
new
AliyunSMS
().
QuerySendDetails
(
phone
,
today
,
j
.
getString
(
"BizId"
)))
.
getJSONObject
(
"SmsSendDetailDTOs"
).
getJSONArray
(
"SmsSendDetailDTO"
).
get
(
0
);
...
...
src/main/java/cn/timer/api/controller/dzht/DzhtController2.java
View file @
b88aeda6
...
...
@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
...
@@ -40,6 +41,7 @@ import cn.timer.api.bean.dzht.DzhtAssoQyyz;
import
cn.timer.api.bean.dzht.DzhtAssoQyzc
;
import
cn.timer.api.bean.dzht.DzhtAssoSdgzq
;
import
cn.timer.api.bean.dzht.DzhtAssoTpyz
;
import
cn.timer.api.bean.qyzx.businessService.QyzxRemainingQuantity
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
import
cn.timer.api.config.annotation.CurrentUser
;
import
cn.timer.api.config.annotation.UserBean
;
...
...
@@ -193,8 +195,7 @@ public class DzhtController2 {
public
Result
<
Object
>
orgTemplate
(
@CurrentUser
UserBean
userBean
,
@RequestBody
DzhtAssoQyyz
qyyz
)
{
String
orgId
=
DzhtAssoQyzc
.
builder
().
build
().
selectOne
(
// new QueryWrapper<DzhtAssoQyzc>().eq("third_party_user_id", qyyz.getThirdPartyUserId()).select("org_id"))
new
QueryWrapper
<
DzhtAssoQyzc
>().
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
select
(
"org_id"
))
.
getOrgId
();
// 查询orgId
new
QueryWrapper
<
DzhtAssoQyzc
>().
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
select
(
"org_id"
)).
getOrgId
();
// 查询orgId
// String orgId = "dfd84b9a58d345ea90f6711bad853435";// 测试公司账户
// 印章参数
String
alias
=
qyyz
.
getAlias
();
...
...
@@ -409,6 +410,25 @@ public class DzhtController2 {
@ApiOperation
(
value
=
"创建签署流程"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
Object
>
signflows
(
@CurrentUser
UserBean
userBean
,
@RequestBody
DzhtAssoCjlc
lc
)
{
Integer
orgCode
=
userBean
.
getOrgCode
();
QyzxRemainingQuantity
quantity
=
QyzxRemainingQuantity
.
builder
().
build
().
selectOne
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>().
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
)
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
2
).
gt
(
QyzxRemainingQuantity:
:
getRemainder
,
0
));
Integer
remainder
=
null
;
Date
date
=
null
;
if
(
quantity
!=
null
)
{
remainder
=
quantity
.
getRemainder
();
date
=
quantity
.
getExpireDate
();
}
if
(
quantity
==
null
||
remainder
==
null
||
remainder
<=
0
)
{
return
ResultUtil
.
error
(
"企业 "
+
orgCode
+
" :套餐余额不足,请充值购买后使用"
);
}
if
(
date
!=
null
&&
date
.
getTime
()
<=
new
Date
().
getTime
())
{
return
ResultUtil
.
error
(
"企业 "
+
orgCode
+
" :电子合同套餐已过期"
);
}
// ConfigInfo cfgInfo = new ConfigInfo(null, "1,2", null, null);
// SignFlowStart sfs = new SignFlowStart(null, "测试签署流程开启", null, null, null,
// null, null, cfgInfo);
...
...
@@ -442,7 +462,7 @@ public class DzhtController2 {
lc
.
setFlowId
(
jsonObject
.
getString
(
"flowId"
));
lc
.
setCreater
(
userBean
.
getEmpNum
());
lc
.
setCreatedTime
(
new
Date
());
lc
.
setOrgCode
(
userBean
.
getOrgCode
()
);
lc
.
setOrgCode
(
orgCode
);
lc
.
insert
();
}
catch
(
DefineException
e1
)
{
e1
.
printStackTrace
();
...
...
@@ -647,10 +667,10 @@ public class DzhtController2 {
for
(
DzhtAssoSdgzq
sdgzq
:
sdgzqs
)
{
String
flowId
=
sdgzq
.
getFlowId
();
DzhtAssoCjlc
lc
=
DzhtAssoCjlc
.
builder
().
build
()
.
selectOne
(
new
QueryWrapper
<
DzhtAssoCjlc
>().
eq
(
"flow_id"
,
flowId
).
select
(
"business_scene"
));
sdgzq
.
setBusinessScene
(
lc
.
getBusinessScene
());
//文件主题
DzhtAssoCjlc
lc
=
DzhtAssoCjlc
.
builder
().
build
()
.
selectOne
(
new
QueryWrapper
<
DzhtAssoCjlc
>().
eq
(
"flow_id"
,
flowId
).
select
(
"business_scene"
));
sdgzq
.
setBusinessScene
(
lc
.
getBusinessScene
());
// 文件主题
String
fileId
=
sdgzq
.
getFileId
();
String
signerAccountId
=
sdgzq
.
getSignerAccountId
();
...
...
@@ -680,7 +700,7 @@ public class DzhtController2 {
.
selectOne
(
new
QueryWrapper
<
DzhtAssoGrzc
>().
eq
(
"account_id"
,
signerAccountId
));
if
(
grzc
!=
null
)
{
Integer
signerEmpNum
=
grzc
.
getEmpNum
();
sdgzq
.
setSignerEmpNum
(
signerEmpNum
);
//签署人员工号
sdgzq
.
setSignerEmpNum
(
signerEmpNum
);
//
签署人员工号
}
sdgzq
.
setCreater
(
userBean
.
getEmpNum
());
sdgzq
.
setCreatedTime
(
new
Date
());
...
...
@@ -797,6 +817,26 @@ public class DzhtController2 {
@PutMapping
(
"/startSignFlow"
)
@ApiOperation
(
value
=
"开启签署流程"
,
httpMethod
=
"PUT"
,
notes
=
"接口发布说明"
)
public
Result
<
Object
>
startSignFlow
(
@CurrentUser
UserBean
userBean
,
@RequestParam
String
flowId
)
{
Integer
orgCode
=
userBean
.
getOrgCode
();
QyzxRemainingQuantity
quantity
=
QyzxRemainingQuantity
.
builder
().
build
().
selectOne
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>().
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
)
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
2
).
gt
(
QyzxRemainingQuantity:
:
getRemainder
,
0
));
Integer
remainder
=
null
;
Date
date
=
null
;
if
(
quantity
!=
null
)
{
remainder
=
quantity
.
getRemainder
();
date
=
quantity
.
getExpireDate
();
}
if
(
quantity
==
null
||
remainder
==
null
||
remainder
<=
0
)
{
return
ResultUtil
.
error
(
"企业 "
+
orgCode
+
" :套餐余额不足,请充值购买后使用"
);
}
if
(
date
!=
null
&&
date
.
getTime
()
<=
new
Date
().
getTime
())
{
return
ResultUtil
.
error
(
"企业 "
+
orgCode
+
" :电子合同套餐已过期"
);
}
try
{
TokenHelper
.
getTokenData
();
// 获取鉴权
SignHelper
.
startSignFlow
(
flowId
);
...
...
@@ -907,8 +947,9 @@ public class DzhtController2 {
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
required
=
false
)
String
query
)
{
com
.
github
.
pagehelper
.
Page
<
Object
>
page
=
PageHelper
.
startPage
(
currPage
,
pageSize
);
List
<
DzhtAssoCjlc
>
cjlcs
=
DzhtAssoCjlc
.
builder
().
build
().
selectList
(
new
QueryWrapper
<
DzhtAssoCjlc
>().
like
(
query
!=
null
,
"business_scene"
,
query
)
.
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
eq
(
"creater"
,
userBean
.
getEmpNum
()).
select
(
"flow_id"
));
List
<
DzhtAssoCjlc
>
cjlcs
=
DzhtAssoCjlc
.
builder
().
build
()
.
selectList
(
new
QueryWrapper
<
DzhtAssoCjlc
>().
like
(
query
!=
null
,
"business_scene"
,
query
)
.
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
eq
(
"creater"
,
userBean
.
getEmpNum
()).
select
(
"flow_id"
));
List
<
Object
>
l
=
new
ArrayList
<
Object
>();
for
(
DzhtAssoCjlc
lc
:
cjlcs
)
{
l
.
add
(
qryFlow
(
lc
.
getFlowId
()));
...
...
@@ -968,13 +1009,12 @@ public class DzhtController2 {
public
Result
<
Object
>
getSdlc
(
@CurrentUser
UserBean
userBean
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Integer
currPage
,
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
required
=
false
)
String
query
)
{
@RequestParam
(
required
=
false
)
String
query
)
{
List
<
JSONObject
>
json
=
new
ArrayList
<
JSONObject
>();
com
.
github
.
pagehelper
.
Page
<
Object
>
page
=
PageHelper
.
startPage
(
currPage
,
pageSize
);
List
<
DzhtAssoSdgzq
>
list
=
DzhtAssoSdgzq
.
builder
().
build
()
.
selectList
(
new
QueryWrapper
<
DzhtAssoSdgzq
>()
.
select
(
"distinct flow_id"
)
.
selectList
(
new
QueryWrapper
<
DzhtAssoSdgzq
>().
select
(
"distinct flow_id"
)
.
eq
(
"signer_emp_num"
,
userBean
.
getEmpNum
()).
like
(
query
!=
null
,
"business_scene"
,
query
));
List
<
String
>
flowIdList
=
Lists
.
transform
(
list
,
newList
->
newList
.
getFlowId
());
for
(
String
flowId
:
flowIdList
)
{
...
...
src/main/java/cn/timer/api/controller/htzz/HtzzController.java
View file @
b88aeda6
...
...
@@ -70,18 +70,29 @@ public class HtzzController {
@PostMapping
(
"/addzj"
)
@ApiOperation
(
value
=
"新增合同证件"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
Object
>
addzj
(
@CurrentUser
UserBean
userBean
,
@RequestBody
HtzzAdminZzda
zzda
)
{
Integer
orgCode
=
userBean
.
getOrgCode
();
QyzxRemainingQuantity
quantity
=
QyzxRemainingQuantity
.
builder
().
build
()
.
selectOne
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>()
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
userBean
.
getOrgCode
())
.
orderByAsc
(
QyzxRemainingQuantity:
:
getExpireDate
));
if
(
quantity
==
null
||
quantity
.
getRemainder
()
==
null
||
quantity
.
getRemainder
()
<=
0
)
{
return
ResultUtil
.
data
(
"请先充值购买短信套餐!"
);
QyzxRemainingQuantity
quantity
=
QyzxRemainingQuantity
.
builder
().
build
().
selectOne
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>().
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
)
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
1
).
gt
(
QyzxRemainingQuantity:
:
getRemainder
,
0
));
Date
date
=
null
;
Integer
remainder
=
null
;
if
(
quantity
!=
null
)
{
remainder
=
quantity
.
getRemainder
();
date
=
quantity
.
getExpireDate
();
}
if
(
quantity
==
null
||
remainder
==
null
||
remainder
<=
0
)
{
// 判断充了钱没
return
ResultUtil
.
error
(
"请充值后使用短信功能!"
);
}
if
(
date
!=
null
&&
date
.
getTime
()
<=
new
Date
().
getTime
())
{
System
.
err
.
println
(
"企业 "
+
orgCode
+
" :短信套餐已过期"
);
return
ResultUtil
.
error
(
"短信套餐已到期!"
);
}
zzda
.
setTxkgType
(
1
);
zzda
.
setLrrid
(
userBean
.
getEmpNum
());
zzda
.
setLrsjTime
(
new
Date
());
zzda
.
setOrgCode
(
userBean
.
getOrgCode
()
);
zzda
.
setOrgCode
(
orgCode
);
zzda
.
insert
();
/**
...
...
@@ -92,7 +103,7 @@ public class HtzzController {
List
<
HtzzAssoHtgx
>
htgxs
=
new
ArrayList
<
HtzzAssoHtgx
>(
ids
.
length
);
for
(
Integer
id
:
ids
)
{
QueryWrapper
<
YgglMainEmp
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
select
(
"name"
,
"phone"
,
"emp_num"
).
eq
(
"emp_num"
,
id
).
eq
(
"org_code"
,
userBean
.
getOrgCode
()
);
queryWrapper
.
select
(
"name"
,
"phone"
,
"emp_num"
).
eq
(
"emp_num"
,
id
).
eq
(
"org_code"
,
orgCode
);
emp
=
YgglMainEmp
.
builder
().
build
().
selectOne
(
queryWrapper
);
HtzzAssoHtgx
htgx
=
HtzzAssoHtgx
.
builder
().
build
();
...
...
@@ -100,7 +111,7 @@ public class HtzzController {
htgx
.
setTzrid
(
emp
.
getEmpNum
());
htgx
.
setName
(
emp
.
getName
());
htgx
.
setPhone
(
emp
.
getPhone
());
htgx
.
setOrgCode
(
userBean
.
getOrgCode
()
);
htgx
.
setOrgCode
(
orgCode
);
htgx
.
insert
();
htgxs
.
add
(
htgx
);
}
...
...
src/main/java/cn/timer/api/controller/qyzx/QyzxBusinessController.java
View file @
b88aeda6
This diff is collapsed.
Click to expand it.
src/main/java/cn/timer/api/utils/aliyun/AliyunSMS.java
View file @
b88aeda6
package
cn
.
timer
.
api
.
utils
.
aliyun
;
import
java.util.Date
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.alibaba.fastjson.JSONObject
;
...
...
@@ -12,9 +15,12 @@ import com.aliyuncs.exceptions.ServerException;
import
com.aliyuncs.http.MethodType
;
import
com.aliyuncs.profile.DefaultProfile
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
cn.timer.api.bean.qyzx.QyzxEmpLogin
;
import
cn.timer.api.bean.qyzx.businessService.QyzxRemainingQuantity
;
import
cn.timer.api.bean.qyzx.businessService.QyzxScene
;
import
cn.timer.api.bean.qyzx.businessService.QyzxUseRecord
;
import
cn.timer.api.config.enums.PinType
;
import
cn.timer.api.dto.qyzx.EntRegisterDto
;
...
...
@@ -24,6 +30,7 @@ import cn.timer.api.dto.qyzx.EntRegisterDto;
* @author dsc
*
*/
@Transactional
public
class
AliyunSMS
{
final
static
String
CODE_NAME
=
"TemplateCode"
;
// 短信模板代码参数名
...
...
@@ -48,9 +55,29 @@ public class AliyunSMS {
@SuppressWarnings
(
"deprecation"
)
public
JSONObject
authCode
(
EntRegisterDto
entRegisterDto
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Integer
templateCode
,
Integer
code
)
{
String
phone
=
entRegisterDto
.
getPhone
();
Integer
orgCode
=
QyzxEmpLogin
.
builder
().
build
()
.
selectOne
(
new
LambdaQueryWrapper
<
QyzxEmpLogin
>().
eq
(
QyzxEmpLogin:
:
getPhone
,
phone
)).
getOrgId
();
QyzxRemainingQuantity
quantity
=
QyzxRemainingQuantity
.
builder
().
build
().
selectOne
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>().
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
)
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
1
).
gt
(
QyzxRemainingQuantity:
:
getRemainder
,
0
));
Integer
remainder
=
quantity
.
getRemainder
();
Date
date
=
quantity
.
getExpireDate
();
String
orderNo
=
quantity
.
getOrderNo
();
if
(
quantity
==
null
||
remainder
==
null
||
remainder
<=
0
)
{
System
.
err
.
println
(
"企业 "
+
orgCode
+
" :套餐余额不足,请充钱"
);
return
null
;
}
if
(
date
!=
null
&&
date
.
getTime
()
<=
new
Date
().
getTime
())
{
System
.
err
.
println
(
"企业 "
+
orgCode
+
" :短信套餐已过期"
);
return
null
;
}
QyzxUseRecord
qyzxUseRecord
=
new
QyzxUseRecord
();
DefaultProfile
profile
=
DefaultProfile
.
getProfile
(
REGION_ID
,
ACCESSKEY_ID
,
SECRET
);
IAcsClient
client
=
new
DefaultAcsClient
(
profile
);
...
...
@@ -66,37 +93,65 @@ public class AliyunSMS {
switch
(
templateCode
)
{
case
1
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
AUTHENTICATION
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_AUTHENTICATION
.
getMessage
());
break
;
case
2
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
LOGIN_CONFIRMATION
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_LOGIN_CONFIRM
.
getMessage
());
break
;
case
3
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
LOGIN_ABNORMAL
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_LOGIN_CONFIRM
.
getMessage
());
break
;
case
4
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
REGISTER
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_REGISTER
.
getMessage
());
break
;
case
5
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
CHANGE_PASSWORD
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_CHANGE_PWD
.
getMessage
());
break
;
case
6
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
CHANGE_INFORMATION
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_CHANGE_IMP
.
getMessage
());
break
;
default
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
AUTHENTICATION
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_AUTHENTICATION
.
getMessage
());
}
// 【8小时人事管家】验证码934169,您正在尝试修改登录密码,请妥善保管账户信息。
request
.
putQueryParameter
(
TEMPLATE_PARAM
,
"{\"code\":\""
+
code
+
"\"}"
);
CommonResponse
response
=
null
;
String
a
=
null
;
try
{
response
=
client
.
getCommonResponse
(
request
);
a
=
response
.
getData
();
}
catch
(
ServerException
e
)
{
e
.
printStackTrace
();
}
catch
(
ClientException
e
)
{
e
.
printStackTrace
();
}
return
JSONObject
.
parseObject
(
response
.
getData
());
if
(
a
!=
null
&&
a
.
contains
(
"OK"
))
{
qyzxUseRecord
.
setOriginalTotalNum
(
remainder
);
// 原数量
qyzxUseRecord
.
setNowTotalNum
(--
remainder
);
qyzxUseRecord
.
setUserPhone
(
phone
);
qyzxUseRecord
.
setOrderNo
(
orderNo
);
qyzxUseRecord
.
setUseNum
(
1
);
qyzxUseRecord
.
setPmid
(
quantity
.
getPmid
());
qyzxUseRecord
.
setCreateUser
(
"System"
);
qyzxUseRecord
.
insert
();
quantity
.
setRemainder
(
remainder
);
quantity
.
update
(
new
LambdaUpdateWrapper
<
QyzxRemainingQuantity
>()
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
).
eq
(
QyzxRemainingQuantity:
:
getOrderNo
,
orderNo
));
return
JSONObject
.
parseObject
(
response
.
getData
());
// 代表请求成功
}
return
null
;
}
/**
...
...
@@ -141,23 +196,31 @@ public class AliyunSMS {
* @param htname 要提醒的东西的名字
* @param time 提醒的时间
* @param phone
* @return
* @return
*/
@SuppressWarnings
(
"deprecation"
)
public
static
String
remind
(
String
name
,
String
htname
,
String
time
,
String
phone
)
{
Integer
orgCode
=
QyzxEmpLogin
.
builder
().
build
()
.
selectOne
(
new
LambdaQueryWrapper
<
QyzxEmpLogin
>().
eq
(
QyzxEmpLogin:
:
getPhone
,
phone
)).
getOrgId
();
System
.
err
.
println
(
"orgCode"
+
orgCode
);
QyzxRemainingQuantity
quantity
=
QyzxRemainingQuantity
.
builder
().
build
()
.
selectOne
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>()
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
)
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
)
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
1
)
.
orderByAsc
(
QyzxRemainingQuantity:
:
getExpireDate
));
if
(
quantity
==
null
||
quantity
.
getRemainder
()
==
null
||
quantity
.
getRemainder
()
<=
0
)
{
System
.
err
.
println
(
"请充钱"
);
return
"请先充值购买短信套餐!"
;
Integer
remainder
=
quantity
.
getRemainder
();
Date
date
=
quantity
.
getExpireDate
();
String
orderNo
=
quantity
.
getOrderNo
();
if
(
quantity
==
null
||
remainder
==
null
||
remainder
<=
0
)
{
System
.
err
.
println
(
"企业 "
+
orgCode
+
" :套餐余额不足,请充钱"
);
return
"请先充值购买短信套餐!"
;
}
if
(
date
!=
null
&&
date
.
getTime
()
<=
new
Date
().
getTime
())
{
System
.
err
.
println
(
"企业 "
+
orgCode
+
" :短信套餐已过期"
);
return
"套餐已过期"
;
}
DefaultProfile
profile
=
DefaultProfile
.
getProfile
(
REGION_ID
,
ACCESSKEY_ID
,
SECRET
);
IAcsClient
client
=
new
DefaultAcsClient
(
profile
);
...
...
@@ -173,15 +236,37 @@ public class AliyunSMS {
request
.
putQueryParameter
(
TEMPLATE_PARAM
,
"{\"name\":\""
+
name
+
"\", \"htname\":\""
+
htname
+
"\",\"time\":\""
+
time
+
"\"}"
);
String
a
=
null
;
try
{
CommonResponse
response
=
client
.
getCommonResponse
(
request
);
System
.
out
.
println
(
response
.
getData
());
a
=
response
.
getData
();
}
catch
(
ServerException
e
)
{
e
.
printStackTrace
();
}
catch
(
ClientException
e
)
{
e
.
printStackTrace
();
}
return
"发送成功"
;
if
(
a
!=
null
&&
a
.
contains
(
"OK"
))
{
QyzxUseRecord
qyzxUseRecord
=
new
QyzxUseRecord
();
qyzxUseRecord
.
setOriginalTotalNum
(
remainder
);
// 原数量
qyzxUseRecord
.
setNowTotalNum
(--
remainder
);
qyzxUseRecord
.
setUserPhone
(
phone
);
qyzxUseRecord
.
setOrderNo
(
orderNo
);
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_REMIND
.
getMessage
());
qyzxUseRecord
.
setUseNum
(
1
);
qyzxUseRecord
.
setPmid
(
quantity
.
getPmid
());
qyzxUseRecord
.
insert
();
quantity
.
setRemainder
(
remainder
);
quantity
.
update
(
new
LambdaUpdateWrapper
<
QyzxRemainingQuantity
>()
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
).
eq
(
QyzxRemainingQuantity:
:
getOrderNo
,
orderNo
));
return
a
;
// 代表请求成功
}
return
"发送失败"
;
}
}
src/main/java/cn/timer/api/utils/schedule/RemindUtil.java
View file @
b88aeda6
...
...
@@ -11,16 +11,12 @@ import org.springframework.scheduling.config.ScheduledTaskRegistrar;
import
org.springframework.scheduling.support.CronTrigger
;
import
org.springframework.stereotype.Component
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
cn.hutool.core.date.DateUnit
;
import
cn.hutool.core.date.DateUtil
;
import
cn.timer.api.bean.htzz.HtzzAdminZzda
;
import
cn.timer.api.bean.htzz.HtzzAssoHtgx
;
import
cn.timer.api.bean.qyzx.QyzxEmpLogin
;
import
cn.timer.api.bean.qyzx.businessService.QyzxRemainingQuantity
;
import
cn.timer.api.utils.ResultUtil
;
import
cn.timer.api.utils.aliyun.AliyunSMS
;
/**
...
...
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