Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gic-platform-enterprise
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
base_platform_enterprise
gic-platform-enterprise
Commits
90a8208a
Commit
90a8208a
authored
Mar 26, 2020
by
zhiwj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
短信发送校验
parent
68e52203
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
46 additions
and
0 deletions
+46
-0
Constants.java
.../src/main/java/com/gic/enterprise/constant/Constants.java
+3
-0
SmsRecordApiService.java
.../java/com/gic/enterprise/service/SmsRecordApiService.java
+11
-0
SmsRecordApiServiceImpl.java
...nterprise/service/outer/impl/SmsRecordApiServiceImpl.java
+32
-0
No files found.
gic-platform-enterprise-api/src/main/java/com/gic/enterprise/constant/Constants.java
View file @
90a8208a
...
...
@@ -56,6 +56,9 @@ public interface Constants {
*/
String
ENTERPRISE_BILLING_SMS_PACKAGE_COUNT
=
"enterprise_billing_sms_package_count"
;
/**
* 审批的url
*/
String
AUDIT_TODO_URL
=
"/damo-system/user/approve"
;
}
gic-platform-enterprise-api/src/main/java/com/gic/enterprise/service/SmsRecordApiService.java
View file @
90a8208a
...
...
@@ -12,6 +12,17 @@ import com.gic.enterprise.dto.SmsRecordDTO;
public
interface
SmsRecordApiService
{
/**
* @Title: verifySendSms
* @Description: 校验用户能否发送短信
* @author zhiwj
* @param enterpriseId
* @param sendCount
* @return com.gic.api.base.commons.ServiceResponse<java.lang.Void>
* @throws
*/
ServiceResponse
<
Void
>
verifySendSms
(
Integer
enterpriseId
,
Integer
sendCount
);
/**
* 保存明细
* @Title: saveSmsRecord
* @Description:
...
...
gic-platform-enterprise-service/src/main/java/com/gic/enterprise/service/outer/impl/SmsRecordApiServiceImpl.java
View file @
90a8208a
...
...
@@ -7,6 +7,9 @@ import com.gic.enterprise.constant.AccountStandardEnum;
import
com.gic.enterprise.constant.Constants
;
import
com.gic.enterprise.dto.DictDTO
;
import
com.gic.enterprise.dto.SmsRecordDTO
;
import
com.gic.enterprise.entity.TabBillingAccount
;
import
com.gic.enterprise.error.ErrorCode
;
import
com.gic.enterprise.response.EnterpriseServiceResponse
;
import
com.gic.enterprise.service.*
;
import
com.gic.mq.sdk.GicMQClient
;
import
com.gic.redis.data.util.RedisUtil
;
...
...
@@ -43,6 +46,35 @@ public class SmsRecordApiServiceImpl implements SmsRecordApiService {
private
DictApiService
dictApiService
;
@Override
public
ServiceResponse
<
Void
>
verifySendSms
(
Integer
enterpriseId
,
Integer
sendCount
)
{
if
(
enterpriseId
==
null
||
sendCount
==
null
)
{
return
EnterpriseServiceResponse
.
failure
(
ErrorCode
.
PARAMETER_ERROR
);
}
RedissonClient
redisClient
=
RedisUtil
.
getRedisClient
();
RAtomicLong
smsCountR
=
redisClient
.
getAtomicLong
(
Constants
.
ENTERPRISE_BILLING_SMS_PACKAGE_COUNT
+
enterpriseId
);
long
smsPackageCount
=
smsCountR
.
get
();
if
(
smsPackageCount
>
sendCount
)
{
logger
.
info
(
"enterpriseId:{}, 短信套餐包条数:{}, 发送条数:{}, 可以发送"
,
enterpriseId
,
smsPackageCount
,
sendCount
);
return
ServiceResponse
.
success
();
}
long
missCount
=
sendCount
-
smsPackageCount
;
TabBillingAccount
billingAccount
=
billingAccountService
.
getByEnterpriseId
(
enterpriseId
);
Double
accountBalance
=
billingAccount
.
getAccountBalance
();
Integer
unitFee
=
accountStandardService
.
queryUnitFee
(
enterpriseId
,
AccountStandardEnum
.
SMS
.
getCode
());
double
needFee
=
(
double
)
(
missCount
*
unitFee
)
/
1000
;
if
(
needFee
>
accountBalance
)
{
logger
.
info
(
"enterpriseId:{}, 短信套餐包条数:{}, 余额:{}, 发送条数:{}, 不能发送"
,
enterpriseId
,
smsPackageCount
,
accountBalance
,
sendCount
);
return
EnterpriseServiceResponse
.
failure
(
ErrorCode
.
OPERATION_FAILED
.
getCode
(),
"余额不足, 不能发送"
);
}
else
{
logger
.
info
(
"enterpriseId:{}, 短信套餐包条数:{},余额:{}, 发送条数:{}, 可以发送"
,
enterpriseId
,
smsPackageCount
,
accountBalance
,
sendCount
);
return
EnterpriseServiceResponse
.
success
();
}
}
@Override
public
ServiceResponse
<
Void
>
saveSmsRecord
(
SmsRecordDTO
smsRecordDTO
)
{
ServiceResponse
paramResult
=
ValidUtil
.
allCheckValidate
(
smsRecordDTO
,
SmsRecordDTO
.
SmsRecordValid
.
class
);
if
(!
paramResult
.
isSuccess
())
{
...
...
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