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
7600ebcf
Commit
7600ebcf
authored
Apr 27, 2020
by
dengshichuan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dsc' into 'develop'
企业中心购买记录查询接口优化 See merge request 8timerv2/8timerapiv200!48
parents
0f814de1
d6ba16c2
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
377 additions
and
160 deletions
+377
-160
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxInvoiceData.java
+3
-1
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxOrderRecord.java
+0
-16
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxRemainingQuantity.java
+0
-14
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxScene.java
+6
-5
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxUseRecord.java
+9
-16
src/main/java/cn/timer/api/callback/wx/WxCallBackController.java
+5
-0
src/main/java/cn/timer/api/controller/LoginController.java
+83
-47
src/main/java/cn/timer/api/controller/dzht/DzhtController2.java
+54
-14
src/main/java/cn/timer/api/controller/htzz/HtzzController.java
+34
-10
src/main/java/cn/timer/api/controller/qyzx/QyzxBusinessController.java
+75
-33
src/main/java/cn/timer/api/utils/aliyun/AliyunSMS.java
+106
-2
src/main/java/cn/timer/api/utils/schedule/RemindUtil.java
+2
-2
No files found.
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxInvoiceData.java
View file @
7600ebcf
...
@@ -80,7 +80,9 @@ public class QyzxInvoiceData extends Model<QyzxInvoiceData>{
...
@@ -80,7 +80,9 @@ public class QyzxInvoiceData extends Model<QyzxInvoiceData>{
private
String
consigneePhone
;
private
String
consigneePhone
;
@ApiModelProperty
(
value
=
"邮箱"
,
example
=
"13144400255@163.com"
)
@ApiModelProperty
(
value
=
"邮箱"
,
example
=
"13144400255@163.com"
)
private
String
email
;
private
String
email
;
@ApiModelProperty
(
value
=
"收货地址"
,
example
=
"白云东平伯曼酒店"
)
@ApiModelProperty
(
value
=
"收货地址省市区"
,
example
=
"广东省/广州市/白云区"
)
private
String
shippingArea
;
@ApiModelProperty
(
value
=
"收货详细地址"
,
example
=
"白云东平伯曼酒店"
)
private
String
shippingAddress
;
private
String
shippingAddress
;
@ApiModelProperty
(
value
=
"邮编"
,
example
=
"510080"
)
@ApiModelProperty
(
value
=
"邮编"
,
example
=
"510080"
)
private
String
zipCode
;
private
String
zipCode
;
...
...
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxOrderRecord.java
View file @
7600ebcf
...
@@ -74,15 +74,6 @@ public class QyzxOrderRecord extends Model<QyzxOrderRecord>{
...
@@ -74,15 +74,6 @@ public class QyzxOrderRecord extends Model<QyzxOrderRecord>{
@ApiModelProperty
(
value
=
"公司"
,
example
=
"117"
)
@ApiModelProperty
(
value
=
"公司"
,
example
=
"117"
)
private
Integer
orgCode
;
private
Integer
orgCode
;
@ApiModelProperty
(
value
=
"排序"
,
example
=
""
)
private
Integer
sort
;
@ApiModelProperty
(
value
=
"模块状态"
,
example
=
"默认0-开启,1-关闭"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"是否删除"
,
example
=
"默认0-未删除,1-删除"
)
private
Integer
isDelete
;
@TableField
(
fill
=
FieldFill
.
INSERT
)
@TableField
(
fill
=
FieldFill
.
INSERT
)
@ApiModelProperty
(
value
=
"创建时间 "
,
example
=
""
)
@ApiModelProperty
(
value
=
"创建时间 "
,
example
=
""
)
...
@@ -90,12 +81,5 @@ public class QyzxOrderRecord extends Model<QyzxOrderRecord>{
...
@@ -90,12 +81,5 @@ public class QyzxOrderRecord extends Model<QyzxOrderRecord>{
@ApiModelProperty
(
value
=
"创建人 "
,
example
=
""
)
@ApiModelProperty
(
value
=
"创建人 "
,
example
=
""
)
private
Integer
createUser
;
private
Integer
createUser
;
@TableField
(
fill
=
FieldFill
.
INSERT_UPDATE
)
@ApiModelProperty
(
value
=
"修改时间 "
,
example
=
""
)
private
Date
modifyTime
;
@ApiModelProperty
(
value
=
"修改人 "
,
example
=
""
)
private
Integer
modifyUser
;
}
}
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxRemainingQuantity.java
View file @
7600ebcf
...
@@ -85,12 +85,6 @@ public class QyzxRemainingQuantity extends Model<QyzxRemainingQuantity>{
...
@@ -85,12 +85,6 @@ public class QyzxRemainingQuantity extends Model<QyzxRemainingQuantity>{
@ApiModelProperty
(
value
=
"企业"
,
example
=
"117"
)
@ApiModelProperty
(
value
=
"企业"
,
example
=
"117"
)
private
Integer
orgCode
;
private
Integer
orgCode
;
@ApiModelProperty
(
value
=
"排序"
,
example
=
""
)
private
String
sort
;
@ApiModelProperty
(
value
=
"模块状态"
,
example
=
"默认0-开启,1-关闭"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"是否删除"
,
example
=
"默认0-未删除,1-删除"
)
@ApiModelProperty
(
value
=
"是否删除"
,
example
=
"默认0-未删除,1-删除"
)
private
Integer
isDelete
;
private
Integer
isDelete
;
...
@@ -100,13 +94,5 @@ public class QyzxRemainingQuantity extends Model<QyzxRemainingQuantity>{
...
@@ -100,13 +94,5 @@ public class QyzxRemainingQuantity extends Model<QyzxRemainingQuantity>{
@ApiModelProperty
(
value
=
"创建人 "
,
example
=
""
)
@ApiModelProperty
(
value
=
"创建人 "
,
example
=
""
)
private
Integer
createUser
;
private
Integer
createUser
;
@TableField
(
fill
=
FieldFill
.
INSERT_UPDATE
)
@ApiModelProperty
(
value
=
"修改时间 "
,
example
=
""
)
private
Date
modifyTime
;
@ApiModelProperty
(
value
=
"修改人 "
,
example
=
""
)
private
Integer
modifyUser
;
}
}
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxScene.java
View file @
7600ebcf
...
@@ -20,13 +20,14 @@ import lombok.Getter;
...
@@ -20,13 +20,14 @@ import lombok.Getter;
@Getter
@Getter
@AllArgsConstructor
@AllArgsConstructor
public
enum
QyzxScene
{
public
enum
QyzxScene
{
MSG_LOGIN
(
1
,
"短信登录"
),
MSG_AUTHENTICATION
(
1
,
"短信身份验证"
),
MSG_LOGIN_CONFIRM
(
1
,
"短信登录确认"
),
MSG_REGISTER
(
1
,
"短信用户注册"
),
MSG_CHANGE_PWD
(
1
,
"修改密码"
),
MSG_CHANGE_PWD
(
1
,
"修改密码"
),
MSG_CHANGE_UNAME
(
1
,
"修改用户名"
),
MSG_CHANGE_IMP
(
1
,
"修改重要信息"
),
MSG_CHANGE_PHONE
(
1
,
"修改手机号"
),
MSG_REMIND
(
1
,
"证照提醒"
),
MSG_REMIND
(
1
,
"证照提醒"
),
CONTRACT_SINGLE
(
2
,
"
修改密码
"
),
CONTRACT_SINGLE
(
2
,
"
单签
"
),
CONTRACT_BOTH
(
2
,
"
用户注册
"
);
CONTRACT_BOTH
(
2
,
"
双方签
"
);
private
final
Integer
code
;
private
final
Integer
code
;
private
final
String
message
;
private
final
String
message
;
...
...
src/main/java/cn/timer/api/bean/qyzx/businessService/QyzxUseRecord.java
View file @
7600ebcf
...
@@ -52,14 +52,17 @@ public class QyzxUseRecord extends Model<QyzxUseRecord>{
...
@@ -52,14 +52,17 @@ public class QyzxUseRecord extends Model<QyzxUseRecord>{
@ApiModelProperty
(
value
=
"主键"
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"主键"
,
example
=
"1"
)
private
Integer
id
;
private
Integer
id
;
@ApiModelProperty
(
value
=
"模块id"
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"模块id
0-无 1-短信 2-电子合同 3-系统续费
"
,
example
=
"1"
)
private
Integer
pmid
;
private
Integer
pmid
;
@ApiModelProperty
(
value
=
"订单号"
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"订单号"
,
example
=
"1"
)
private
String
orderNo
;
private
String
orderNo
;
@ApiModelProperty
(
value
=
"使用场景"
,
example
=
"1"
)
@ApiModelProperty
(
value
=
"使用场景"
,
example
=
"1"
)
private
Integer
scene
;
private
String
scene
;
@ApiModelProperty
(
value
=
"使用数量"
,
example
=
"1"
)
private
Integer
useNum
;
@ApiModelProperty
(
value
=
"原始总量"
,
example
=
"500"
)
@ApiModelProperty
(
value
=
"原始总量"
,
example
=
"500"
)
private
Integer
originalTotalNum
;
private
Integer
originalTotalNum
;
...
@@ -67,12 +70,6 @@ public class QyzxUseRecord extends Model<QyzxUseRecord>{
...
@@ -67,12 +70,6 @@ public class QyzxUseRecord extends Model<QyzxUseRecord>{
@ApiModelProperty
(
value
=
"当前总量"
,
example
=
"499"
)
@ApiModelProperty
(
value
=
"当前总量"
,
example
=
"499"
)
private
Integer
nowTotalNum
;
private
Integer
nowTotalNum
;
@ApiModelProperty
(
value
=
"模块状态"
,
example
=
"默认0-开启,1-关闭"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"排序"
,
example
=
""
)
private
String
sort
;
@ApiModelProperty
(
value
=
"是否删除"
,
example
=
"默认0-未删除,1-删除"
)
@ApiModelProperty
(
value
=
"是否删除"
,
example
=
"默认0-未删除,1-删除"
)
private
Integer
isDelete
;
private
Integer
isDelete
;
...
@@ -81,12 +78,8 @@ public class QyzxUseRecord extends Model<QyzxUseRecord>{
...
@@ -81,12 +78,8 @@ public class QyzxUseRecord extends Model<QyzxUseRecord>{
private
Date
createTime
;
private
Date
createTime
;
@ApiModelProperty
(
value
=
"创建人 "
,
example
=
""
)
@ApiModelProperty
(
value
=
"创建人 "
,
example
=
""
)
private
Integer
createUser
;
private
String
createUser
;
@TableField
(
fill
=
FieldFill
.
INSERT_UPDATE
)
@ApiModelProperty
(
value
=
"使用人手机号 "
,
example
=
""
)
@ApiModelProperty
(
value
=
"修改时间 "
,
example
=
""
)
private
String
userPhone
;
private
Date
modifyTime
;
@ApiModelProperty
(
value
=
"修改人 "
,
example
=
""
)
private
Integer
modifyUser
;
}
}
src/main/java/cn/timer/api/callback/wx/WxCallBackController.java
View file @
7600ebcf
...
@@ -81,6 +81,10 @@ public class WxCallBackController {
...
@@ -81,6 +81,10 @@ public class WxCallBackController {
if
(!
env
.
equals
(
"dev"
)
&&
!
env
.
equals
(
"test"
))
{
if
(!
env
.
equals
(
"dev"
)
&&
!
env
.
equals
(
"test"
))
{
return
ResultUtil
.
error
(
"请切换到开发/测试环境"
);
return
ResultUtil
.
error
(
"请切换到开发/测试环境"
);
}
}
// TODO 加套餐 如果已经存在可用的套餐 ,怎么搞
updateAndInsert
(
orderNo
);
updateAndInsert
(
orderNo
);
return
ResultUtil
.
data
(
orderNo
,
"购买成功"
);
return
ResultUtil
.
data
(
orderNo
,
"购买成功"
);
}
}
...
@@ -119,6 +123,7 @@ public class WxCallBackController {
...
@@ -119,6 +123,7 @@ public class WxCallBackController {
quantity
.
setCount
(
count
);
// 购买数量
quantity
.
setCount
(
count
);
// 购买数量
quantity
.
setPmid
(
pmid
);
// 付费模块id
quantity
.
setPmid
(
pmid
);
// 付费模块id
quantity
.
setPcid
(
pcid
);
// 付费内容id
quantity
.
setPcid
(
pcid
);
// 付费内容id
quantity
.
setUnit
(
unit
);
quantity
.
setCreateUser
(
createdUser
);
quantity
.
setCreateUser
(
createdUser
);
quantity
.
setOrgCode
(
orgCode
);
quantity
.
setOrgCode
(
orgCode
);
quantity
.
insert
();
quantity
.
insert
();
...
...
src/main/java/cn/timer/api/controller/LoginController.java
View file @
7600ebcf
...
@@ -2,6 +2,7 @@ package cn.timer.api.controller;
...
@@ -2,6 +2,7 @@ package cn.timer.api.controller;
import
java.io.IOException
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Stream
;
import
java.util.stream.Stream
;
...
@@ -28,7 +29,8 @@ import cn.hutool.core.util.StrUtil;
...
@@ -28,7 +29,8 @@ import cn.hutool.core.util.StrUtil;
import
cn.timer.api.bean.qyzx.QyzxEmpEntAsso
;
import
cn.timer.api.bean.qyzx.QyzxEmpEntAsso
;
import
cn.timer.api.bean.qyzx.QyzxEmpLogin
;
import
cn.timer.api.bean.qyzx.QyzxEmpLogin
;
import
cn.timer.api.bean.qyzx.QyzxEntInfoM
;
import
cn.timer.api.bean.qyzx.QyzxEntInfoM
;
import
cn.timer.api.bean.qyzx.QyzxSms
;
import
cn.timer.api.bean.qyzx.businessService.QyzxRemainingQuantity
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
import
cn.timer.api.bean.zzgl.ZzglAuth
;
import
cn.timer.api.bean.zzgl.ZzglAuth
;
import
cn.timer.api.bean.zzgl.ZzglBmgwM
;
import
cn.timer.api.bean.zzgl.ZzglBmgwM
;
...
@@ -53,10 +55,10 @@ import io.swagger.annotations.ApiOperation;
...
@@ -53,10 +55,10 @@ import io.swagger.annotations.ApiOperation;
@Transactional
@Transactional
@RequestMapping
(
value
=
"/login"
,
produces
=
{
"application/json"
})
@RequestMapping
(
value
=
"/login"
,
produces
=
{
"application/json"
})
public
class
LoginController
{
public
class
LoginController
{
@Value
(
"${configtest.patht}"
)
@Value
(
"${configtest.patht}"
)
public
String
port
;
public
String
port
;
@Autowired
@Autowired
private
HttpSession
session
;
private
HttpSession
session
;
...
@@ -65,7 +67,7 @@ public class LoginController {
...
@@ -65,7 +67,7 @@ public class LoginController {
@Autowired
@Autowired
private
QyzxEmpEntAssoMapper
qyzxEmpEntAssoMapper
;
private
QyzxEmpEntAssoMapper
qyzxEmpEntAssoMapper
;
// @Autowired
// @Autowired
// private DataSourceTransactionManager transactionManager;
// private DataSourceTransactionManager transactionManager;
...
@@ -74,7 +76,7 @@ public class LoginController {
...
@@ -74,7 +76,7 @@ public class LoginController {
System
.
out
.
print
(
port
);
System
.
out
.
print
(
port
);
return
ResultUtil
.
success
(
"configtest:"
+
port
);
return
ResultUtil
.
success
(
"configtest:"
+
port
);
}
}
/**
/**
* 发送验证码
* 发送验证码
*
*
...
@@ -85,36 +87,70 @@ public class LoginController {
...
@@ -85,36 +87,70 @@ public class LoginController {
@ApiOperation
(
value
=
"1.发送验证码"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"1.发送验证码"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperationSupport
(
order
=
1
)
@ApiOperationSupport
(
order
=
1
)
public
Result
<
String
>
sendCode
(
@RequestBody
EntRegisterDto
entRegisterDto
)
{
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
)
.
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位随机数验证码
// 6位随机数验证码
try
{
try
{
Integer
code
=
(
int
)
((
Math
.
random
()
*
9
+
1
)
*
100000
);
Integer
code
=
(
int
)
((
Math
.
random
()
*
9
+
1
)
*
100000
);
AliyunSMS
aliyunSMS
=
new
AliyunSMS
();
AliyunSMS
aliyunSMS
=
new
AliyunSMS
();
String
phone
=
entRegisterDto
.
getPhone
();
if
(
phone
==
null
||
""
.
equals
(
phone
))
{
if
(
phone
==
null
||
""
.
equals
(
phone
))
{
phone
=
entRegisterDto
.
getUsername
();
phone
=
entRegisterDto
.
getUsername
();
entRegisterDto
.
setPhone
(
phone
);
entRegisterDto
.
setPhone
(
phone
);
}
}
JSONObject
j
=
aliyunSMS
.
authCode
(
entRegisterDto
,
entRegisterDto
.
getTc
(),
code
);
JSONObject
j
=
aliyunSMS
.
authCode
(
entRegisterDto
,
entRegisterDto
.
getTc
(),
code
);
// String bizId = (String) j.get("BizId");
// Integer type = entRegisterDto.getMessageType();
// 获取当前日期的字符串格式
// 获取当前日期的字符串格式
String
today
=
DateUtil
.
today
();
String
today
=
DateUtil
.
today
();
// yyyy-MM-dd
// yyyy-MM-dd
today
=
today
.
replace
(
"-"
,
""
);
today
=
today
.
replace
(
"-"
,
""
);
// 插入
Thread
.
sleep
(
1000
);
// QyzxSms qyzxSms =
JSONObject
jsonObject
=
(
JSONObject
)
JSONObject
// QyzxSms.builder().orgCode(b?qyzxEmpLogin.getOrgId():null).messageType(type).content(content)
.
parseObject
(
new
AliyunSMS
().
QuerySendDetails
(
phone
,
today
,
j
.
getString
(
"BizId"
)))
// .createTime(sendDate).phone(phone).build();
.
getJSONObject
(
"SmsSendDetailDTOs"
).
getJSONArray
(
"SmsSendDetailDTO"
).
get
(
0
);
// qyzxSmsMapper.insert(qyzxSms);
String
templateCode
=
jsonObject
.
getString
(
"TemplateCode"
);
String
message
=
(
String
)
j
.
get
(
"Message"
);
String
phoneNum
=
jsonObject
.
getString
(
"PhoneNum"
);
String
content
=
jsonObject
.
getString
(
"Content"
);
String
sendStatus
=
jsonObject
.
getString
(
"SendStatus"
);
String
sendDate
=
jsonObject
.
getString
(
"SendDate"
);
QyzxSms
qyzxSms
=
new
QyzxSms
();
qyzxSms
.
setContent
(
content
);
qyzxSms
.
setCreateTime
(
new
Date
());
qyzxSms
.
setMessageType
(
entRegisterDto
.
getTc
());
qyzxSms
.
setPhone
(
phoneNum
);
qyzxSms
.
setOrgCode
(
orgCode
);
qyzxSms
.
insert
();
String
message
=
j
.
getString
(
"Message"
);
if
(
"OK"
.
equals
(
message
))
{
if
(
"OK"
.
equals
(
message
))
{
session
.
setAttribute
(
phone
,
code
);
session
.
setAttribute
(
phone
,
code
);
// redisTemplate.set(phone, code);
// redisTemplate.set(phone, code);
// redisTemplate.expire(phone, 60);
// redisTemplate.expire(phone, 60);
return
ResultUtil
.
success
(
"发送验证码成功"
);
return
ResultUtil
.
data
(
"发送验证码成功"
);
}
else
{
}
else
{
return
ResultUtil
.
error
(
"发送验证码失败"
);
return
ResultUtil
.
error
(
"发送验证码失败"
);
}
}
...
@@ -152,31 +188,31 @@ public class LoginController {
...
@@ -152,31 +188,31 @@ public class LoginController {
* @return
* @return
* @throws IOException
* @throws IOException
*//*
*//*
* @PostMapping(value = "/test")
* @PostMapping(value = "/test")
*
*
* @ApiOperation(value = "3.测试", httpMethod = "POST", notes = "接口发布说明")
* @ApiOperation(value = "3.测试", httpMethod = "POST", notes = "接口发布说明")
*
*
* @ApiOperationSupport(order = 3) public void test(HttpServletRequest request,
* @ApiOperationSupport(order = 3) public void test(HttpServletRequest request,
* HttpServletResponse res) throws IOException {
* HttpServletResponse res) throws IOException {
*
*
* res.setHeader("content-type","text/html;charset=UTF-8");
* res.setHeader("content-type","text/html;charset=UTF-8");
* res.setHeader("selfHeader","selfHeaderValue"); //
* res.setHeader("selfHeader","selfHeaderValue"); //
* res.addHeader("response_code", "123"); //
* res.addHeader("response_code", "123"); //
* res.setContentType("application/octet-stream"); //
* res.setContentType("application/octet-stream"); //
* res.addHeader("Content-Length", "0");
* res.addHeader("Content-Length", "0");
*
*
* res.addHeader("response_code", "100"); res.addHeader("trans_id", "");
* res.addHeader("response_code", "100"); res.addHeader("trans_id", "");
* res.addHeader("cmd_code", "NO com");
* res.addHeader("cmd_code", "NO com");
*
*
* res.setContentType("application/octet-stream");
* res.setContentType("application/octet-stream");
* res.addHeader("Content-Length", "0");
* res.addHeader("Content-Length", "0");
*
*
* res.flushBuffer(); // response.addHeader("response_code",
* res.flushBuffer(); // response.addHeader("response_code",
* "ERROR_INVALID_LIB_NAME"); //
* "ERROR_INVALID_LIB_NAME"); //
* response.setContentType("application/octet-stream"); //
* response.setContentType("application/octet-stream"); //
* response.addHeader("Content-Length", "0"); // response.flushBuffer();
* response.addHeader("Content-Length", "0"); // response.flushBuffer();
* System.out.println(111); }
* System.out.println(111); }
*/
*/
@PostMapping
(
value
=
"/updatePwd"
)
@PostMapping
(
value
=
"/updatePwd"
)
@ApiOperation
(
value
=
"4.修改密码(新)"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"4.修改密码(新)"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
...
@@ -191,12 +227,12 @@ public class LoginController {
...
@@ -191,12 +227,12 @@ public class LoginController {
.
eq
(!
StrUtil
.
hasBlank
(
phone
),
QyzxEmpLogin:
:
getPhone
,
phone
).
one
();
// 员工登录表
.
eq
(!
StrUtil
.
hasBlank
(
phone
),
QyzxEmpLogin:
:
getPhone
,
phone
).
one
();
// 员工登录表
String
dbPwd
=
qyzxEmpLogin
.
getPw
();
// 数据库原密码
String
dbPwd
=
qyzxEmpLogin
.
getPw
();
// 数据库原密码
if
(
type
==
1
)
{
if
(
type
==
1
)
{
if
(!
Md5
.
md5
(
oldPwd
).
equals
(
dbPwd
))
{
if
(!
Md5
.
md5
(
oldPwd
).
equals
(
dbPwd
))
{
return
ResultUtil
.
error
(
"原密码验证失败"
);
return
ResultUtil
.
error
(
"原密码验证失败"
);
}
}
if
(
pw
.
equals
(
oldPwd
))
{
if
(
pw
.
equals
(
oldPwd
))
{
return
ResultUtil
.
error
(
"新密码与原密码相同,请修改后重试!"
);
return
ResultUtil
.
error
(
"新密码与原密码相同,请修改后重试!"
);
}
}
}
else
{
}
else
{
Object
codeRedis
=
session
.
getAttribute
(
phone
);
Object
codeRedis
=
session
.
getAttribute
(
phone
);
if
(!
code
.
equals
(
codeRedis
.
toString
()))
{
if
(!
code
.
equals
(
codeRedis
.
toString
()))
{
...
@@ -457,7 +493,7 @@ public class LoginController {
...
@@ -457,7 +493,7 @@ public class LoginController {
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
LambdaQueryWrapper
<
ZzglAuth
>
wp
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
ZzglAuth
>
wp
=
new
LambdaQueryWrapper
<>();
wp
.
select
(
ZzglAuth:
:
getMenuId
).
eq
(
ZzglAuth:
:
getOrgCode
,
qyzxEmpLogin1
.
getOrgId
())
wp
.
select
(
ZzglAuth:
:
getMenuId
).
eq
(
ZzglAuth:
:
getOrgCode
,
qyzxEmpLogin1
.
getOrgId
())
.
and
(
i
->
i
.
in
(
ZzglAuth:
:
getBmgwId
,
list
.
toArray
()));
.
and
(
i
->
i
.
in
(
ZzglAuth:
:
getBmgwId
,
list
.
toArray
()));
List
<
ZzglAuth
>
zas
=
ZzglAuth
.
builder
().
build
().
selectList
(
wp
);
List
<
ZzglAuth
>
zas
=
ZzglAuth
.
builder
().
build
().
selectList
(
wp
);
List
<
String
>
menus
=
new
ArrayList
<>();
List
<
String
>
menus
=
new
ArrayList
<>();
zas
.
stream
().
forEach
(
o
->
menus
.
add
(
o
.
getMenuId
()));
zas
.
stream
().
forEach
(
o
->
menus
.
add
(
o
.
getMenuId
()));
...
...
src/main/java/cn/timer/api/controller/dzht/DzhtController2.java
View file @
7600ebcf
...
@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
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.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
@@ -40,6 +41,7 @@ import cn.timer.api.bean.dzht.DzhtAssoQyyz;
...
@@ -40,6 +41,7 @@ import cn.timer.api.bean.dzht.DzhtAssoQyyz;
import
cn.timer.api.bean.dzht.DzhtAssoQyzc
;
import
cn.timer.api.bean.dzht.DzhtAssoQyzc
;
import
cn.timer.api.bean.dzht.DzhtAssoSdgzq
;
import
cn.timer.api.bean.dzht.DzhtAssoSdgzq
;
import
cn.timer.api.bean.dzht.DzhtAssoTpyz
;
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.bean.yggl.YgglMainEmp
;
import
cn.timer.api.config.annotation.CurrentUser
;
import
cn.timer.api.config.annotation.CurrentUser
;
import
cn.timer.api.config.annotation.UserBean
;
import
cn.timer.api.config.annotation.UserBean
;
...
@@ -193,8 +195,7 @@ public class DzhtController2 {
...
@@ -193,8 +195,7 @@ public class DzhtController2 {
public
Result
<
Object
>
orgTemplate
(
@CurrentUser
UserBean
userBean
,
@RequestBody
DzhtAssoQyyz
qyyz
)
{
public
Result
<
Object
>
orgTemplate
(
@CurrentUser
UserBean
userBean
,
@RequestBody
DzhtAssoQyyz
qyyz
)
{
String
orgId
=
DzhtAssoQyzc
.
builder
().
build
().
selectOne
(
String
orgId
=
DzhtAssoQyzc
.
builder
().
build
().
selectOne
(
// new QueryWrapper<DzhtAssoQyzc>().eq("third_party_user_id", qyyz.getThirdPartyUserId()).select("org_id"))
// new QueryWrapper<DzhtAssoQyzc>().eq("third_party_user_id", qyyz.getThirdPartyUserId()).select("org_id"))
new
QueryWrapper
<
DzhtAssoQyzc
>().
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
select
(
"org_id"
))
new
QueryWrapper
<
DzhtAssoQyzc
>().
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
select
(
"org_id"
)).
getOrgId
();
// 查询orgId
.
getOrgId
();
// 查询orgId
// String orgId = "dfd84b9a58d345ea90f6711bad853435";// 测试公司账户
// String orgId = "dfd84b9a58d345ea90f6711bad853435";// 测试公司账户
// 印章参数
// 印章参数
String
alias
=
qyyz
.
getAlias
();
String
alias
=
qyyz
.
getAlias
();
...
@@ -409,6 +410,25 @@ public class DzhtController2 {
...
@@ -409,6 +410,25 @@ public class DzhtController2 {
@ApiOperation
(
value
=
"创建签署流程"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"创建签署流程"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
Object
>
signflows
(
@CurrentUser
UserBean
userBean
,
@RequestBody
DzhtAssoCjlc
lc
)
{
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);
// ConfigInfo cfgInfo = new ConfigInfo(null, "1,2", null, null);
// SignFlowStart sfs = new SignFlowStart(null, "测试签署流程开启", null, null, null,
// SignFlowStart sfs = new SignFlowStart(null, "测试签署流程开启", null, null, null,
// null, null, cfgInfo);
// null, null, cfgInfo);
...
@@ -442,7 +462,7 @@ public class DzhtController2 {
...
@@ -442,7 +462,7 @@ public class DzhtController2 {
lc
.
setFlowId
(
jsonObject
.
getString
(
"flowId"
));
lc
.
setFlowId
(
jsonObject
.
getString
(
"flowId"
));
lc
.
setCreater
(
userBean
.
getEmpNum
());
lc
.
setCreater
(
userBean
.
getEmpNum
());
lc
.
setCreatedTime
(
new
Date
());
lc
.
setCreatedTime
(
new
Date
());
lc
.
setOrgCode
(
userBean
.
getOrgCode
()
);
lc
.
setOrgCode
(
orgCode
);
lc
.
insert
();
lc
.
insert
();
}
catch
(
DefineException
e1
)
{
}
catch
(
DefineException
e1
)
{
e1
.
printStackTrace
();
e1
.
printStackTrace
();
...
@@ -647,10 +667,10 @@ public class DzhtController2 {
...
@@ -647,10 +667,10 @@ public class DzhtController2 {
for
(
DzhtAssoSdgzq
sdgzq
:
sdgzqs
)
{
for
(
DzhtAssoSdgzq
sdgzq
:
sdgzqs
)
{
String
flowId
=
sdgzq
.
getFlowId
();
String
flowId
=
sdgzq
.
getFlowId
();
DzhtAssoCjlc
lc
=
DzhtAssoCjlc
.
builder
().
build
()
.
selectOne
(
new
QueryWrapper
<
DzhtAssoCjlc
>().
eq
(
"flow_id"
,
flowId
).
select
(
"business_scene"
));
DzhtAssoCjlc
lc
=
DzhtAssoCjlc
.
builder
().
build
()
sdgzq
.
setBusinessScene
(
lc
.
getBusinessScene
());
//文件主题
.
selectOne
(
new
QueryWrapper
<
DzhtAssoCjlc
>().
eq
(
"flow_id"
,
flowId
).
select
(
"business_scene"
));
sdgzq
.
setBusinessScene
(
lc
.
getBusinessScene
());
// 文件主题
String
fileId
=
sdgzq
.
getFileId
();
String
fileId
=
sdgzq
.
getFileId
();
String
signerAccountId
=
sdgzq
.
getSignerAccountId
();
String
signerAccountId
=
sdgzq
.
getSignerAccountId
();
...
@@ -680,7 +700,7 @@ public class DzhtController2 {
...
@@ -680,7 +700,7 @@ public class DzhtController2 {
.
selectOne
(
new
QueryWrapper
<
DzhtAssoGrzc
>().
eq
(
"account_id"
,
signerAccountId
));
.
selectOne
(
new
QueryWrapper
<
DzhtAssoGrzc
>().
eq
(
"account_id"
,
signerAccountId
));
if
(
grzc
!=
null
)
{
if
(
grzc
!=
null
)
{
Integer
signerEmpNum
=
grzc
.
getEmpNum
();
Integer
signerEmpNum
=
grzc
.
getEmpNum
();
sdgzq
.
setSignerEmpNum
(
signerEmpNum
);
//签署人员工号
sdgzq
.
setSignerEmpNum
(
signerEmpNum
);
//
签署人员工号
}
}
sdgzq
.
setCreater
(
userBean
.
getEmpNum
());
sdgzq
.
setCreater
(
userBean
.
getEmpNum
());
sdgzq
.
setCreatedTime
(
new
Date
());
sdgzq
.
setCreatedTime
(
new
Date
());
...
@@ -797,6 +817,26 @@ public class DzhtController2 {
...
@@ -797,6 +817,26 @@ public class DzhtController2 {
@PutMapping
(
"/startSignFlow"
)
@PutMapping
(
"/startSignFlow"
)
@ApiOperation
(
value
=
"开启签署流程"
,
httpMethod
=
"PUT"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"开启签署流程"
,
httpMethod
=
"PUT"
,
notes
=
"接口发布说明"
)
public
Result
<
Object
>
startSignFlow
(
@CurrentUser
UserBean
userBean
,
@RequestParam
String
flowId
)
{
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
{
try
{
TokenHelper
.
getTokenData
();
// 获取鉴权
TokenHelper
.
getTokenData
();
// 获取鉴权
SignHelper
.
startSignFlow
(
flowId
);
SignHelper
.
startSignFlow
(
flowId
);
...
@@ -907,8 +947,9 @@ public class DzhtController2 {
...
@@ -907,8 +947,9 @@ public class DzhtController2 {
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
required
=
false
)
String
query
)
{
@RequestParam
(
required
=
false
)
String
query
)
{
com
.
github
.
pagehelper
.
Page
<
Object
>
page
=
PageHelper
.
startPage
(
currPage
,
pageSize
);
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
)
List
<
DzhtAssoCjlc
>
cjlcs
=
DzhtAssoCjlc
.
builder
().
build
()
.
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
eq
(
"creater"
,
userBean
.
getEmpNum
()).
select
(
"flow_id"
));
.
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
>();
List
<
Object
>
l
=
new
ArrayList
<
Object
>();
for
(
DzhtAssoCjlc
lc
:
cjlcs
)
{
for
(
DzhtAssoCjlc
lc
:
cjlcs
)
{
l
.
add
(
qryFlow
(
lc
.
getFlowId
()));
l
.
add
(
qryFlow
(
lc
.
getFlowId
()));
...
@@ -968,13 +1009,12 @@ public class DzhtController2 {
...
@@ -968,13 +1009,12 @@ public class DzhtController2 {
public
Result
<
Object
>
getSdlc
(
@CurrentUser
UserBean
userBean
,
public
Result
<
Object
>
getSdlc
(
@CurrentUser
UserBean
userBean
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Integer
currPage
,
@RequestParam
(
required
=
false
,
defaultValue
=
"1"
)
Integer
currPage
,
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
required
=
false
,
defaultValue
=
"10"
)
Integer
pageSize
,
@RequestParam
(
required
=
false
)
String
query
)
{
@RequestParam
(
required
=
false
)
String
query
)
{
List
<
JSONObject
>
json
=
new
ArrayList
<
JSONObject
>();
List
<
JSONObject
>
json
=
new
ArrayList
<
JSONObject
>();
com
.
github
.
pagehelper
.
Page
<
Object
>
page
=
PageHelper
.
startPage
(
currPage
,
pageSize
);
com
.
github
.
pagehelper
.
Page
<
Object
>
page
=
PageHelper
.
startPage
(
currPage
,
pageSize
);
List
<
DzhtAssoSdgzq
>
list
=
DzhtAssoSdgzq
.
builder
().
build
()
List
<
DzhtAssoSdgzq
>
list
=
DzhtAssoSdgzq
.
builder
().
build
()
.
selectList
(
new
QueryWrapper
<
DzhtAssoSdgzq
>()
.
selectList
(
new
QueryWrapper
<
DzhtAssoSdgzq
>().
select
(
"distinct flow_id"
)
.
select
(
"distinct flow_id"
)
.
eq
(
"signer_emp_num"
,
userBean
.
getEmpNum
()).
like
(
query
!=
null
,
"business_scene"
,
query
));
.
eq
(
"signer_emp_num"
,
userBean
.
getEmpNum
()).
like
(
query
!=
null
,
"business_scene"
,
query
));
List
<
String
>
flowIdList
=
Lists
.
transform
(
list
,
newList
->
newList
.
getFlowId
());
List
<
String
>
flowIdList
=
Lists
.
transform
(
list
,
newList
->
newList
.
getFlowId
());
for
(
String
flowId
:
flowIdList
)
{
for
(
String
flowId
:
flowIdList
)
{
...
...
src/main/java/cn/timer/api/controller/htzz/HtzzController.java
View file @
7600ebcf
...
@@ -5,6 +5,7 @@ import java.util.Date;
...
@@ -5,6 +5,7 @@ import java.util.Date;
import
java.util.List
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PathVariable
;
...
@@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
...
@@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
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.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
...
@@ -24,6 +26,7 @@ import cn.hutool.cron.CronUtil;
...
@@ -24,6 +26,7 @@ import cn.hutool.cron.CronUtil;
import
cn.hutool.cron.task.Task
;
import
cn.hutool.cron.task.Task
;
import
cn.timer.api.bean.htzz.HtzzAdminZzda
;
import
cn.timer.api.bean.htzz.HtzzAdminZzda
;
import
cn.timer.api.bean.htzz.HtzzAssoHtgx
;
import
cn.timer.api.bean.htzz.HtzzAssoHtgx
;
import
cn.timer.api.bean.qyzx.businessService.QyzxRemainingQuantity
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
import
cn.timer.api.bean.yggl.YgglMainEmp
;
import
cn.timer.api.config.annotation.CurrentUser
;
import
cn.timer.api.config.annotation.CurrentUser
;
import
cn.timer.api.config.annotation.UserBean
;
import
cn.timer.api.config.annotation.UserBean
;
...
@@ -36,6 +39,7 @@ import io.swagger.annotations.ApiOperation;
...
@@ -36,6 +39,7 @@ import io.swagger.annotations.ApiOperation;
@Api
(
tags
=
"7.0合同证照"
)
@Api
(
tags
=
"7.0合同证照"
)
@RestController
@RestController
@Transactional
@RequestMapping
(
value
=
"/htzz"
,
produces
=
{
"application/json"
})
@RequestMapping
(
value
=
"/htzz"
,
produces
=
{
"application/json"
})
public
class
HtzzController
{
public
class
HtzzController
{
...
@@ -66,9 +70,29 @@ public class HtzzController {
...
@@ -66,9 +70,29 @@ public class HtzzController {
@PostMapping
(
"/addzj"
)
@PostMapping
(
"/addzj"
)
@ApiOperation
(
value
=
"新增合同证件"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"新增合同证件"
,
httpMethod
=
"POST"
,
notes
=
"接口发布说明"
)
public
Result
<
Object
>
addzj
(
@CurrentUser
UserBean
userBean
,
@RequestBody
HtzzAdminZzda
zzda
)
{
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
,
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
.
setLrrid
(
userBean
.
getEmpNum
());
zzda
.
setLrsjTime
(
new
Date
());
zzda
.
setLrsjTime
(
new
Date
());
zzda
.
setOrgCode
(
userBean
.
getOrgCode
()
);
zzda
.
setOrgCode
(
orgCode
);
zzda
.
insert
();
zzda
.
insert
();
/**
/**
...
@@ -79,7 +103,7 @@ public class HtzzController {
...
@@ -79,7 +103,7 @@ public class HtzzController {
List
<
HtzzAssoHtgx
>
htgxs
=
new
ArrayList
<
HtzzAssoHtgx
>(
ids
.
length
);
List
<
HtzzAssoHtgx
>
htgxs
=
new
ArrayList
<
HtzzAssoHtgx
>(
ids
.
length
);
for
(
Integer
id
:
ids
)
{
for
(
Integer
id
:
ids
)
{
QueryWrapper
<
YgglMainEmp
>
queryWrapper
=
new
QueryWrapper
<>();
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
);
emp
=
YgglMainEmp
.
builder
().
build
().
selectOne
(
queryWrapper
);
HtzzAssoHtgx
htgx
=
HtzzAssoHtgx
.
builder
().
build
();
HtzzAssoHtgx
htgx
=
HtzzAssoHtgx
.
builder
().
build
();
...
@@ -87,7 +111,7 @@ public class HtzzController {
...
@@ -87,7 +111,7 @@ public class HtzzController {
htgx
.
setTzrid
(
emp
.
getEmpNum
());
htgx
.
setTzrid
(
emp
.
getEmpNum
());
htgx
.
setName
(
emp
.
getName
());
htgx
.
setName
(
emp
.
getName
());
htgx
.
setPhone
(
emp
.
getPhone
());
htgx
.
setPhone
(
emp
.
getPhone
());
htgx
.
setOrgCode
(
userBean
.
getOrgCode
()
);
htgx
.
setOrgCode
(
orgCode
);
htgx
.
insert
();
htgx
.
insert
();
htgxs
.
add
(
htgx
);
htgxs
.
add
(
htgx
);
}
}
...
@@ -126,13 +150,13 @@ public class HtzzController {
...
@@ -126,13 +150,13 @@ public class HtzzController {
String
q
=
htzzQueryDto
.
getQuery
();
String
q
=
htzzQueryDto
.
getQuery
();
Page
<
HtzzAdminZzda
>
page
=
new
Page
<
HtzzAdminZzda
>(
Page
<
HtzzAdminZzda
>
page
=
new
Page
<
HtzzAdminZzda
>(
htzzQueryDto
.
getCurrentPage
()
==
null
?
1
:
htzzQueryDto
.
getCurrentPage
(),
htzzQueryDto
.
getCurrentPage
()
==
null
?
1
:
htzzQueryDto
.
getCurrentPage
(),
htzzQueryDto
.
getTotalPage
()
==
null
?
10
:
htzzQueryDto
.
getTotalPage
());
htzzQueryDto
.
getTotalPage
()
==
null
?
10
:
htzzQueryDto
.
getTotalPage
());
QueryWrapper
<
HtzzAdminZzda
>
queryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
HtzzAdminZzda
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"lrrid"
,
userBean
.
getEmpNum
()).
eq
(
"org_code"
,
userBean
.
getOrgCode
())
.
queryWrapper
.
eq
(
"lrrid"
,
userBean
.
getEmpNum
()).
eq
(
"org_code"
,
userBean
.
getOrgCode
())
select
(
"id"
,
"zjmc"
,
"czry"
,
"czrdh"
,
"fzrq"
,
"yxdqr"
,
"txkg_type"
).
eq
(
"is_delete"
,
0
)
.
select
(
"id"
,
"zjmc"
,
"czry"
,
"czrdh"
,
"fzrq"
,
"yxdqr"
,
"txkg_type"
).
eq
(
"is_delete"
,
0
)
.
gt
(!
StrUtil
.
hasBlank
(
e
),
"yxdqr"
,
!
StrUtil
.
hasBlank
(
e
)
?
e
:
"9999-01-01 00:00:00"
)
.
gt
(!
StrUtil
.
hasBlank
(
e
),
"yxdqr"
,
!
StrUtil
.
hasBlank
(
e
)
?
e
:
"9999-01-01 00:00:00"
)
.
and
(!
StrUtil
.
hasBlank
(
q
),
wq
->
wq
.
like
(
"zjmc"
,
q
).
or
().
like
(
"czry"
,
q
)).
orderByDesc
(
"lrsj_time"
);
.
and
(!
StrUtil
.
hasBlank
(
q
),
wq
->
wq
.
like
(
"zjmc"
,
q
).
or
().
like
(
"czry"
,
q
)).
orderByDesc
(
"lrsj_time"
);
IPage
<
HtzzAdminZzda
>
zPage
=
HtzzAdminZzda
.
builder
().
build
().
selectPage
(
page
,
queryWrapper
);
IPage
<
HtzzAdminZzda
>
zPage
=
HtzzAdminZzda
.
builder
().
build
().
selectPage
(
page
,
queryWrapper
);
List
<
HtzzAdminZzda
>
zccrkgls
=
zPage
.
getRecords
();
List
<
HtzzAdminZzda
>
zccrkgls
=
zPage
.
getRecords
();
...
@@ -176,7 +200,7 @@ public class HtzzController {
...
@@ -176,7 +200,7 @@ public class HtzzController {
public
Result
<
Object
>
delHt
(
@CurrentUser
UserBean
userBean
,
@RequestParam
Integer
htid
)
{
public
Result
<
Object
>
delHt
(
@CurrentUser
UserBean
userBean
,
@RequestParam
Integer
htid
)
{
// 删除提醒关系
// 删除提醒关系
HtzzAssoHtgx
.
builder
().
build
()
HtzzAssoHtgx
.
builder
().
build
()
.
delete
(
new
QueryWrapper
<
HtzzAssoHtgx
>().
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
eq
(
"htid"
,
htid
));
.
delete
(
new
QueryWrapper
<
HtzzAssoHtgx
>().
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
eq
(
"htid"
,
htid
));
// 设置证照删除状态
// 设置证照删除状态
return
ResultUtil
.
data
(
HtzzAdminZzda
.
builder
().
id
(
htid
).
isDelete
(
1
).
build
().
updateById
());
return
ResultUtil
.
data
(
HtzzAdminZzda
.
builder
().
id
(
htid
).
isDelete
(
1
).
build
().
updateById
());
}
}
...
@@ -223,7 +247,7 @@ public class HtzzController {
...
@@ -223,7 +247,7 @@ public class HtzzController {
CronUtil
.
schedule
(
"*/2 * * 24 * *"
,
new
Task
()
{
CronUtil
.
schedule
(
"*/2 * * 24 * *"
,
new
Task
()
{
@Override
@Override
public
void
execute
()
{
public
void
execute
()
{
System
.
out
.
println
(
"start:"
+
new
Date
());
System
.
out
.
println
(
"start:"
+
new
Date
());
}
}
});
});
...
...
src/main/java/cn/timer/api/controller/qyzx/QyzxBusinessController.java
View file @
7600ebcf
/**
/**
* <p>Title: QyzxBusinessController.java</p>
* <p>Title: QyzxBusinessController.java</p>
* <p>Description: </p>
* <p>Description: </p>
* @author dsc
* @author dsc
* @date 2020年4月22日
* @date 2020年4月22日
* @version 1.0
* @version 1.0
*/
*/
package
cn
.
timer
.
api
.
controller
.
qyzx
;
package
cn
.
timer
.
api
.
controller
.
qyzx
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
javax.transaction.Transactional
;
import
javax.transaction.Transactional
;
...
@@ -25,6 +28,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
...
@@ -25,6 +28,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import
com.github.pagehelper.Page
;
import
com.github.pagehelper.Page
;
import
com.github.pagehelper.PageHelper
;
import
com.github.pagehelper.PageHelper
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
cn.timer.api.bean.qyzx.businessService.QyzxBuyRecord
;
import
cn.timer.api.bean.qyzx.businessService.QyzxBuyRecord
;
...
@@ -59,7 +63,7 @@ import io.swagger.annotations.ApiOperation;
...
@@ -59,7 +63,7 @@ import io.swagger.annotations.ApiOperation;
public
class
QyzxBusinessController
{
public
class
QyzxBusinessController
{
@GetMapping
(
value
=
"/getAllQuantity"
)
@GetMapping
(
value
=
"/getAllQuantity"
)
@ApiOperation
(
value
=
"获取套餐余量信息"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"获取
全部
套餐余量信息"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
List
<
QyzxRemainingQuantity
>>
s
(
@CurrentUser
UserBean
userBean
)
{
public
Result
<
List
<
QyzxRemainingQuantity
>>
s
(
@CurrentUser
UserBean
userBean
)
{
List
<
QyzxRemainingQuantity
>
list
=
QyzxRemainingQuantity
.
builder
().
build
()
List
<
QyzxRemainingQuantity
>
list
=
QyzxRemainingQuantity
.
builder
().
build
()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>().
eq
(
QyzxRemainingQuantity:
:
getIsDelete
,
0
)
.
selectList
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>().
eq
(
QyzxRemainingQuantity:
:
getIsDelete
,
0
)
...
@@ -68,14 +72,41 @@ public class QyzxBusinessController {
...
@@ -68,14 +72,41 @@ public class QyzxBusinessController {
}
}
@GetMapping
(
value
=
"/getQuantity"
)
@GetMapping
(
value
=
"/getQuantity"
)
@ApiOperation
(
value
=
"获取套餐余量信息(
名称,数量,单位
)"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"获取套餐余量信息(
数量
)"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
List
<
QyzxRemainingQuantity
>>
getQuantity
(
@CurrentUser
UserBean
userBean
)
{
public
Result
<
List
<
Map
<
String
,
Object
>
>>
getQuantity
(
@CurrentUser
UserBean
userBean
)
{
List
<
QyzxRemainingQuantity
>
qyzxRemainingQuantitys
=
QyzxRemainingQuantity
.
builder
().
build
()
List
<
QyzxRemainingQuantity
>
qyzxRemainingQuantitys
1
=
QyzxRemainingQuantity
.
builder
().
build
()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>().
eq
(
QyzxRemainingQuantity:
:
getIsDelete
,
0
)
.
selectList
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>().
eq
(
QyzxRemainingQuantity:
:
getIsDelete
,
0
)
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
userBean
.
getOrgCode
())
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
userBean
.
getOrgCode
())
.
select
(
QyzxRemainingQuantity:
:
getOrderNo
,
QyzxRemainingQuantity:
:
getContent
,
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
1
).
select
(
QyzxRemainingQuantity:
:
getRemainder
));
QyzxRemainingQuantity:
:
getRemainder
,
QyzxRemainingQuantity:
:
getUnit
));
Integer
remainder1
=
null
;
return
ResultUtil
.
data
(
qyzxRemainingQuantitys
,
"获取成功"
);
for
(
QyzxRemainingQuantity
qyzxRemainingQuantity
:
qyzxRemainingQuantitys1
)
{
remainder1
=
qyzxRemainingQuantity
.
getRemainder
();
if
(
qyzxRemainingQuantitys1
.
size
()
>
1
)
{
remainder1
+=
remainder1
;
}
}
List
<
QyzxRemainingQuantity
>
qyzxRemainingQuantitys2
=
QyzxRemainingQuantity
.
builder
().
build
()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>().
eq
(
QyzxRemainingQuantity:
:
getIsDelete
,
0
)
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
userBean
.
getOrgCode
())
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
2
).
select
(
QyzxRemainingQuantity:
:
getRemainder
));
Integer
remainder2
=
null
;
for
(
QyzxRemainingQuantity
qyzxRemainingQuantity
:
qyzxRemainingQuantitys2
)
{
remainder2
=
qyzxRemainingQuantity
.
getRemainder
();
if
(
qyzxRemainingQuantitys2
.
size
()
>
1
)
{
remainder2
+=
remainder2
;
}
}
Map
<
String
,
Object
>
map1
=
new
HashMap
<
String
,
Object
>();
map1
.
put
(
"message"
,
remainder1
);
Map
<
String
,
Object
>
map2
=
new
HashMap
<
String
,
Object
>();
map2
.
put
(
"contract"
,
remainder2
);
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<
Map
<
String
,
Object
>>();
list
.
add
(
map1
);
list
.
add
(
map2
);
return
ResultUtil
.
data
(
list
,
"获取成功"
);
}
}
@GetMapping
(
value
=
"/getPayList/Contract"
)
@GetMapping
(
value
=
"/getPayList/Contract"
)
...
@@ -83,8 +114,8 @@ public class QyzxBusinessController {
...
@@ -83,8 +114,8 @@ public class QyzxBusinessController {
public
Result
<
List
<
QyzxPayContent
>>
getPayListwithContract
(
@CurrentUser
UserBean
userBean
)
{
public
Result
<
List
<
QyzxPayContent
>>
getPayListwithContract
(
@CurrentUser
UserBean
userBean
)
{
List
<
QyzxPayContent
>
list
=
QyzxPayContent
.
builder
().
build
()
List
<
QyzxPayContent
>
list
=
QyzxPayContent
.
builder
().
build
()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxPayContent
>().
eq
(
QyzxPayContent:
:
getPmid
,
1
).
select
(
.
selectList
(
new
LambdaQueryWrapper
<
QyzxPayContent
>().
eq
(
QyzxPayContent:
:
getPmid
,
1
).
select
(
QyzxPayContent:
:
get
NowPrice
,
QyzxPayContent:
:
getOriginalPrice
,
QyzxPayContent:
:
getSpecification
,
QyzxPayContent:
:
get
Content
,
QyzxPayContent:
:
getNowPrice
,
QyzxPayContent:
:
getOriginalPrice
,
QyzxPayContent:
:
getExpiration
));
QyzxPayContent:
:
get
Specification
,
QyzxPayContent:
:
get
Expiration
));
return
ResultUtil
.
data
(
list
,
"获取成功"
);
return
ResultUtil
.
data
(
list
,
"获取成功"
);
}
}
...
@@ -93,8 +124,18 @@ public class QyzxBusinessController {
...
@@ -93,8 +124,18 @@ public class QyzxBusinessController {
public
Result
<
List
<
QyzxPayContent
>>
getPayListWithMsg
(
@CurrentUser
UserBean
userBean
)
{
public
Result
<
List
<
QyzxPayContent
>>
getPayListWithMsg
(
@CurrentUser
UserBean
userBean
)
{
List
<
QyzxPayContent
>
list
=
QyzxPayContent
.
builder
().
build
()
List
<
QyzxPayContent
>
list
=
QyzxPayContent
.
builder
().
build
()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxPayContent
>().
eq
(
QyzxPayContent:
:
getPmid
,
2
).
select
(
.
selectList
(
new
LambdaQueryWrapper
<
QyzxPayContent
>().
eq
(
QyzxPayContent:
:
getPmid
,
2
).
select
(
QyzxPayContent:
:
getNowPrice
,
QyzxPayContent:
:
getOriginalPrice
,
QyzxPayContent:
:
getSpecification
,
QyzxPayContent:
:
getContent
,
QyzxPayContent:
:
getNowPrice
,
QyzxPayContent:
:
getOriginalPrice
,
QyzxPayContent:
:
getExpiration
));
QyzxPayContent:
:
getSpecification
,
QyzxPayContent:
:
getExpiration
));
return
ResultUtil
.
data
(
list
,
"获取成功"
);
}
@GetMapping
(
value
=
"/getPayList/System"
)
@ApiOperation
(
value
=
"获取系统续费商品列表"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
List
<
QyzxPayContent
>>
getPayListWithSystem
(
@CurrentUser
UserBean
userBean
)
{
List
<
QyzxPayContent
>
list
=
QyzxPayContent
.
builder
().
build
()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxPayContent
>().
eq
(
QyzxPayContent:
:
getPmid
,
3
).
select
(
QyzxPayContent:
:
getContent
,
QyzxPayContent:
:
getNowPrice
,
QyzxPayContent:
:
getOriginalPrice
,
QyzxPayContent:
:
getSpecification
,
QyzxPayContent:
:
getExpiration
));
return
ResultUtil
.
data
(
list
,
"获取成功"
);
return
ResultUtil
.
data
(
list
,
"获取成功"
);
}
}
...
@@ -110,12 +151,16 @@ public class QyzxBusinessController {
...
@@ -110,12 +151,16 @@ public class QyzxBusinessController {
qyzxOrderRecord
.
setOrderNo
(
orderNo
);
// 订单号
qyzxOrderRecord
.
setOrderNo
(
orderNo
);
// 订单号
qyzxOrderRecord
.
setOrderStatus
(
0
);
// 订单状态-无
qyzxOrderRecord
.
setOrderStatus
(
0
);
// 订单状态-无
Integer
pmid
=
qyzxOrderRecord
.
getPmid
();
// 商品id
Integer
pcid
=
qyzxOrderRecord
.
getPcid
();
// 商品id
Integer
pcid
=
qyzxOrderRecord
.
getPcid
();
// 商品id
QyzxPayContent
qyzxPayContent
=
QyzxPayContent
.
builder
().
build
();
QyzxPayContent
qyzxPayContent
=
QyzxPayContent
.
builder
().
build
();
QyzxPayContent
qyzxPayContent2
=
qyzxPayContent
.
selectOne
(
QyzxPayContent
qyzxPayContent2
=
qyzxPayContent
.
selectOne
(
Wrappers
.
lambdaQuery
(
qyzxPayContent
)
Wrappers
.
lambdaQuery
(
qyzxPayContent
).
eq
(
QyzxPayContent:
:
getId
,
pc
id
).
select
(
QyzxPayContent:
:
getContent
,
.
eq
(
QyzxPayContent:
:
getId
,
pcid
).
eq
(
QyzxPayContent:
:
getPmid
,
pm
id
).
select
(
QyzxPayContent:
:
getContent
,
QyzxPayContent:
:
getSpecification
,
QyzxPayContent:
:
getUnit
,
QyzxPayContent:
:
getExpiration
,
QyzxPayContent:
:
getSpecification
,
QyzxPayContent:
:
getUnit
,
QyzxPayContent:
:
getExpiration
,
QyzxPayContent:
:
getOriginalPrice
,
QyzxPayContent:
:
getNowPrice
));
QyzxPayContent:
:
getOriginalPrice
,
QyzxPayContent:
:
getNowPrice
));
if
(
qyzxPayContent2
==
null
)
{
return
ResultUtil
.
error
(
"商品不存在"
);
}
JSONObject
json
=
JSONUtil
.
parseObj
(
qyzxPayContent2
);
JSONObject
json
=
JSONUtil
.
parseObj
(
qyzxPayContent2
);
qyzxOrderRecord
.
setOrderDetail
(
json
.
toString
());
// 订单商品详情-json字符串
qyzxOrderRecord
.
setOrderDetail
(
json
.
toString
());
// 订单商品详情-json字符串
qyzxOrderRecord
.
insert
();
qyzxOrderRecord
.
insert
();
...
@@ -133,19 +178,16 @@ public class QyzxBusinessController {
...
@@ -133,19 +178,16 @@ public class QyzxBusinessController {
public
Result
<
List
<
QyzxBuyRecord
>>
queryBuyRecord
(
@CurrentUser
UserBean
userBean
,
public
Result
<
List
<
QyzxBuyRecord
>>
queryBuyRecord
(
@CurrentUser
UserBean
userBean
,
@RequestParam
(
defaultValue
=
"1"
,
required
=
false
)
Integer
pageNum
,
@RequestParam
(
defaultValue
=
"1"
,
required
=
false
)
Integer
pageNum
,
@RequestParam
(
defaultValue
=
"10"
,
required
=
false
)
Integer
pageSize
,
@RequestParam
(
defaultValue
=
"10"
,
required
=
false
)
Integer
pageSize
,
@RequestParam
(
required
=
false
)
String
query
,
@RequestParam
(
required
=
false
)
String
stime
,
@RequestParam
(
required
=
false
)
String
query
,
@RequestParam
(
required
=
false
)
String
s
,
@RequestParam
(
required
=
false
)
String
etime
)
{
@RequestParam
(
required
=
false
)
String
e
)
{
QueryWrapper
<
QyzxBuyRecord
>
queryWrapper
=
new
QueryWrapper
<>();
QueryWrapper
<
QyzxBuyRecord
>
queryWrapper
=
new
QueryWrapper
<>();
// queryWrapper.eq("org_code", userBean.getOrgCode())
queryWrapper
.
eq
(
"org_code"
,
userBean
.
getOrgCode
()).
and
(!
StrUtil
.
hasBlank
(
query
),
// .between(!StrUtil.hasBlank(stime) && !StrUtil.hasBlank(etime), "create_time",
wq
->
wq
.
like
(
"order_no"
,
query
).
or
().
like
(
"content"
,
query
));
// !StrUtil.hasBlank(stime) ? stime : "1000-01-01 00:00:00",
queryWrapper
.
between
(
s
!=
null
||
s
!=
""
&&
e
!=
null
||
e
!=
""
,
"create_time"
,
// !StrUtil.hasBlank(etime) ? etime : "9999-01-01 00:00:00")
!
StrUtil
.
hasBlank
(
s
)
?
s
:
"1000-01-01 00:00:00"
,
!
StrUtil
.
hasBlank
(
e
)
?
e
:
"9999-01-01 00:00:00"
);
// .and(!StrUtil.hasBlank(query), wq -> wq.like("order_no", query).or().like("content", query));
Page
<
Object
>
page
=
PageHelper
.
startPage
(
pageNum
,
pageSize
);
Page
<
Object
>
page
=
PageHelper
.
startPage
(
pageNum
,
pageSize
);
List
<
QyzxBuyRecord
>
list
=
QyzxBuyRecord
.
builder
().
build
().
selectList
(
queryWrapper
);
List
<
QyzxBuyRecord
>
list
=
QyzxBuyRecord
.
builder
().
build
().
selectList
(
queryWrapper
);
System
.
out
.
println
(
page
.
getTotal
());
return
ResultUtil
.
pageData
(
list
,
page
.
getTotal
(),
"查询成功"
);
return
ResultUtil
.
data
(
list
,
"查询成功"
);
}
}
@PostMapping
(
value
=
"/invoicing"
)
@PostMapping
(
value
=
"/invoicing"
)
...
@@ -178,7 +220,7 @@ public class QyzxBusinessController {
...
@@ -178,7 +220,7 @@ public class QyzxBusinessController {
@ApiOperation
(
value
=
"查询短信套餐余量"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"查询短信套餐余量"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
List
<
QyzxRemainingQuantity
>>
queryMsgRecord
(
@CurrentUser
UserBean
userBean
)
{
public
Result
<
List
<
QyzxRemainingQuantity
>>
queryMsgRecord
(
@CurrentUser
UserBean
userBean
)
{
List
<
QyzxRemainingQuantity
>
list
=
QyzxRemainingQuantity
.
builder
().
build
()
List
<
QyzxRemainingQuantity
>
list
=
QyzxRemainingQuantity
.
builder
().
build
()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>()
.
ne
(
QyzxRemainingQuantity:
:
getIsDelete
,
1
)
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
userBean
.
getOrgCode
())
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
userBean
.
getOrgCode
())
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
1
));
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
1
));
return
ResultUtil
.
data
(
list
,
"查询成功"
);
return
ResultUtil
.
data
(
list
,
"查询成功"
);
...
@@ -188,7 +230,7 @@ public class QyzxBusinessController {
...
@@ -188,7 +230,7 @@ public class QyzxBusinessController {
@ApiOperation
(
value
=
"查询电子合同套餐余量"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"查询电子合同套餐余量"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
List
<
QyzxRemainingQuantity
>>
queryContractRecord
(
@CurrentUser
UserBean
userBean
)
{
public
Result
<
List
<
QyzxRemainingQuantity
>>
queryContractRecord
(
@CurrentUser
UserBean
userBean
)
{
List
<
QyzxRemainingQuantity
>
list
=
QyzxRemainingQuantity
.
builder
().
build
()
List
<
QyzxRemainingQuantity
>
list
=
QyzxRemainingQuantity
.
builder
().
build
()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>()
.
selectList
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>()
.
ne
(
QyzxRemainingQuantity:
:
getIsDelete
,
1
)
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
userBean
.
getOrgCode
())
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
userBean
.
getOrgCode
())
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
2
));
.
eq
(
QyzxRemainingQuantity:
:
getPmid
,
2
));
return
ResultUtil
.
data
(
list
,
"查询成功"
);
return
ResultUtil
.
data
(
list
,
"查询成功"
);
...
@@ -201,8 +243,8 @@ public class QyzxBusinessController {
...
@@ -201,8 +243,8 @@ public class QyzxBusinessController {
.
selectList
(
new
LambdaQueryWrapper
<
QyzxUseRecord
>().
eq
(
QyzxUseRecord:
:
getOrderNo
,
orderNo
)),
"查询成功"
);
.
selectList
(
new
LambdaQueryWrapper
<
QyzxUseRecord
>().
eq
(
QyzxUseRecord:
:
getOrderNo
,
orderNo
)),
"查询成功"
);
}
}
// TODO 不同业务使用
不同数据表
// TODO 不同业务使用 不同数据表
@GetMapping
(
value
=
"/queryContractUseRecord"
)
@GetMapping
(
value
=
"/queryContractUseRecord"
)
@ApiOperation
(
value
=
"查询电子合同套餐使用记录"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
@ApiOperation
(
value
=
"查询电子合同套餐使用记录"
,
httpMethod
=
"GET"
,
notes
=
"接口发布说明"
)
public
Result
<
Object
>
queryContractUseRecord
(
@CurrentUser
UserBean
userBean
)
{
public
Result
<
Object
>
queryContractUseRecord
(
@CurrentUser
UserBean
userBean
)
{
...
...
src/main/java/cn/timer/api/utils/aliyun/AliyunSMS.java
View file @
7600ebcf
package
cn
.
timer
.
api
.
utils
.
aliyun
;
package
cn
.
timer
.
api
.
utils
.
aliyun
;
import
java.util.Date
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
...
@@ -11,7 +14,13 @@ import com.aliyuncs.exceptions.ClientException;
...
@@ -11,7 +14,13 @@ import com.aliyuncs.exceptions.ClientException;
import
com.aliyuncs.exceptions.ServerException
;
import
com.aliyuncs.exceptions.ServerException
;
import
com.aliyuncs.http.MethodType
;
import
com.aliyuncs.http.MethodType
;
import
com.aliyuncs.profile.DefaultProfile
;
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.config.enums.PinType
;
import
cn.timer.api.dto.qyzx.EntRegisterDto
;
import
cn.timer.api.dto.qyzx.EntRegisterDto
;
...
@@ -21,6 +30,7 @@ import cn.timer.api.dto.qyzx.EntRegisterDto;
...
@@ -21,6 +30,7 @@ import cn.timer.api.dto.qyzx.EntRegisterDto;
* @author dsc
* @author dsc
*
*
*/
*/
@Transactional
public
class
AliyunSMS
{
public
class
AliyunSMS
{
final
static
String
CODE_NAME
=
"TemplateCode"
;
// 短信模板代码参数名
final
static
String
CODE_NAME
=
"TemplateCode"
;
// 短信模板代码参数名
...
@@ -48,6 +58,26 @@ public class AliyunSMS {
...
@@ -48,6 +58,26 @@ public class AliyunSMS {
String
phone
=
entRegisterDto
.
getPhone
();
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
);
DefaultProfile
profile
=
DefaultProfile
.
getProfile
(
REGION_ID
,
ACCESSKEY_ID
,
SECRET
);
IAcsClient
client
=
new
DefaultAcsClient
(
profile
);
IAcsClient
client
=
new
DefaultAcsClient
(
profile
);
...
@@ -63,37 +93,65 @@ public class AliyunSMS {
...
@@ -63,37 +93,65 @@ public class AliyunSMS {
switch
(
templateCode
)
{
switch
(
templateCode
)
{
case
1
:
case
1
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
AUTHENTICATION
.
getCode
());
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
AUTHENTICATION
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_AUTHENTICATION
.
getMessage
());
break
;
break
;
case
2
:
case
2
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
LOGIN_CONFIRMATION
.
getCode
());
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
LOGIN_CONFIRMATION
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_LOGIN_CONFIRM
.
getMessage
());
break
;
break
;
case
3
:
case
3
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
LOGIN_ABNORMAL
.
getCode
());
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
LOGIN_ABNORMAL
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_LOGIN_CONFIRM
.
getMessage
());
break
;
break
;
case
4
:
case
4
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
REGISTER
.
getCode
());
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
REGISTER
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_REGISTER
.
getMessage
());
break
;
break
;
case
5
:
case
5
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
CHANGE_PASSWORD
.
getCode
());
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
CHANGE_PASSWORD
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_CHANGE_PWD
.
getMessage
());
break
;
break
;
case
6
:
case
6
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
CHANGE_INFORMATION
.
getCode
());
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
CHANGE_INFORMATION
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_CHANGE_IMP
.
getMessage
());
break
;
break
;
default
:
default
:
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
AUTHENTICATION
.
getCode
());
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
AUTHENTICATION
.
getCode
());
qyzxUseRecord
.
setScene
(
QyzxScene
.
MSG_AUTHENTICATION
.
getMessage
());
}
}
// 【8小时人事管家】验证码934169,您正在尝试修改登录密码,请妥善保管账户信息。
// 【8小时人事管家】验证码934169,您正在尝试修改登录密码,请妥善保管账户信息。
request
.
putQueryParameter
(
TEMPLATE_PARAM
,
"{\"code\":\""
+
code
+
"\"}"
);
request
.
putQueryParameter
(
TEMPLATE_PARAM
,
"{\"code\":\""
+
code
+
"\"}"
);
CommonResponse
response
=
null
;
CommonResponse
response
=
null
;
String
a
=
null
;
try
{
try
{
response
=
client
.
getCommonResponse
(
request
);
response
=
client
.
getCommonResponse
(
request
);
a
=
response
.
getData
();
}
catch
(
ServerException
e
)
{
}
catch
(
ServerException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
catch
(
ClientException
e
)
{
}
catch
(
ClientException
e
)
{
e
.
printStackTrace
();
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
;
}
}
/**
/**
...
@@ -138,9 +196,31 @@ public class AliyunSMS {
...
@@ -138,9 +196,31 @@ public class AliyunSMS {
* @param htname 要提醒的东西的名字
* @param htname 要提醒的东西的名字
* @param time 提醒的时间
* @param time 提醒的时间
* @param phone
* @param phone
* @return
*/
*/
@SuppressWarnings
(
"deprecation"
)
@SuppressWarnings
(
"deprecation"
)
public
static
void
remind
(
String
name
,
String
htname
,
String
time
,
String
phone
)
{
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
();
QyzxRemainingQuantity
quantity
=
QyzxRemainingQuantity
.
builder
().
build
()
.
selectOne
(
new
LambdaQueryWrapper
<
QyzxRemainingQuantity
>()
.
eq
(
QyzxRemainingQuantity:
:
getOrgCode
,
orgCode
).
eq
(
QyzxRemainingQuantity:
:
getPmid
,
1
)
.
orderByAsc
(
QyzxRemainingQuantity:
:
getExpireDate
));
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
);
DefaultProfile
profile
=
DefaultProfile
.
getProfile
(
REGION_ID
,
ACCESSKEY_ID
,
SECRET
);
IAcsClient
client
=
new
DefaultAcsClient
(
profile
);
IAcsClient
client
=
new
DefaultAcsClient
(
profile
);
...
@@ -155,14 +235,38 @@ public class AliyunSMS {
...
@@ -155,14 +235,38 @@ public class AliyunSMS {
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
REMIND
.
getCode
());
request
.
putQueryParameter
(
CODE_NAME
,
PinType
.
REMIND
.
getCode
());
request
.
putQueryParameter
(
TEMPLATE_PARAM
,
request
.
putQueryParameter
(
TEMPLATE_PARAM
,
"{\"name\":\""
+
name
+
"\", \"htname\":\""
+
htname
+
"\",\"time\":\""
+
time
+
"\"}"
);
"{\"name\":\""
+
name
+
"\", \"htname\":\""
+
htname
+
"\",\"time\":\""
+
time
+
"\"}"
);
String
a
=
null
;
try
{
try
{
CommonResponse
response
=
client
.
getCommonResponse
(
request
);
CommonResponse
response
=
client
.
getCommonResponse
(
request
);
System
.
out
.
println
(
response
.
getData
());
System
.
out
.
println
(
response
.
getData
());
a
=
response
.
getData
();
}
catch
(
ServerException
e
)
{
}
catch
(
ServerException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
catch
(
ClientException
e
)
{
}
catch
(
ClientException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
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 @
7600ebcf
...
@@ -64,15 +64,15 @@ public class RemindUtil implements SchedulingConfigurer {
...
@@ -64,15 +64,15 @@ public class RemindUtil implements SchedulingConfigurer {
q
.
select
(
"id"
,
"zjmc"
,
"txkg_type"
,
"yxdqr"
).
eq
(
"id"
,
htgx
.
getHtid
()).
eq
(
"is_delete"
,
0
).
eq
(
"txkg_type"
,
0
);
q
.
select
(
"id"
,
"zjmc"
,
"txkg_type"
,
"yxdqr"
).
eq
(
"id"
,
htgx
.
getHtid
()).
eq
(
"is_delete"
,
0
).
eq
(
"txkg_type"
,
0
);
HtzzAdminZzda
zzda
=
HtzzAdminZzda
.
builder
().
build
().
selectOne
(
q
);
HtzzAdminZzda
zzda
=
HtzzAdminZzda
.
builder
().
build
().
selectOne
(
q
);
if
(
zzda
!=
null
)
{
if
(
zzda
!=
null
)
{
String
name
=
htgx
.
getName
();
// 员工姓名
String
phone
=
htgx
.
getPhone
();
// 员工手机
String
phone
=
htgx
.
getPhone
();
// 员工手机
String
name
=
htgx
.
getName
();
// 员工姓名
String
htname
=
zzda
.
getZjmc
();
// 合同名称
String
htname
=
zzda
.
getZjmc
();
// 合同名称
Date
now
=
new
Date
();
// 当前时间
Date
now
=
new
Date
();
// 当前时间
Date
dqsj
=
zzda
.
getYxdqr
();
// 到期时间
Date
dqsj
=
zzda
.
getYxdqr
();
// 到期时间
String
time
=
DateUtil
.
formatDate
(
dqsj
);
// 到期時間格式
String
time
=
DateUtil
.
formatDate
(
dqsj
);
// 到期時間格式
Long
betweenDay
=
DateUtil
.
between
(
dqsj
,
now
,
DateUnit
.
DAY
);
// 时间差天数
Long
betweenDay
=
DateUtil
.
between
(
dqsj
,
now
,
DateUnit
.
DAY
);
// 时间差天数
Long
sjc
=
dqsj
.
getTime
()
-
now
.
getTime
();
// 时间差数值
Long
sjc
=
dqsj
.
getTime
()
-
now
.
getTime
();
// 时间差数值
System
.
err
.
println
(
betweenDay
);
System
.
err
.
println
(
name
+
" 的 "
+
htname
+
"还有: "
+
betweenDay
+
" 天到期"
);
if
(
sjc
>
0
)
{
if
(
sjc
>
0
)
{
if
(
betweenDay
<=
1
)
{
if
(
betweenDay
<=
1
)
{
AliyunSMS
.
remind
(
name
,
htname
,
time
,
phone
);
// 少于1天短信提醒
AliyunSMS
.
remind
(
name
,
htname
,
time
,
phone
);
// 少于1天短信提醒
...
...
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