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
46ff5826
Commit
46ff5826
authored
Mar 27, 2020
by
zhiwj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug
parent
02a20bb2
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
9 deletions
+27
-9
Constants.java
.../src/main/java/com/gic/enterprise/constant/Constants.java
+2
-0
BillingEnterpriseSmsPackageService.java
...nterprise/service/BillingEnterpriseSmsPackageService.java
+3
-1
BillingEnterpriseSmsPackageServiceImpl.java
.../service/impl/BillingEnterpriseSmsPackageServiceImpl.java
+20
-2
SmsRecordApiServiceImpl.java
...nterprise/service/outer/impl/SmsRecordApiServiceImpl.java
+2
-6
No files found.
gic-platform-enterprise-api/src/main/java/com/gic/enterprise/constant/Constants.java
View file @
46ff5826
...
...
@@ -56,6 +56,8 @@ public interface Constants {
*/
String
ENTERPRISE_BILLING_SMS_PACKAGE_COUNT
=
"enterprise_billing_sms_package_count"
;
String
ENTERPRISE_BILLING_SMS_PACKAGE_COUNT_LOCK
=
"enterprise_billing_sms_package_count_lock"
;
/**
* 审批的url
*/
...
...
gic-platform-enterprise-service/src/main/java/com/gic/enterprise/service/BillingEnterpriseSmsPackageService.java
View file @
46ff5826
...
...
@@ -2,6 +2,7 @@ package com.gic.enterprise.service;
import
com.gic.enterprise.dto.BillingEnterpriseSmsPackageDTO
;
import
com.gic.enterprise.entity.TabBillingEnterpriseSmsPackage
;
import
org.redisson.api.RAtomicLong
;
import
java.util.List
;
/**
...
...
@@ -41,6 +42,7 @@ public interface BillingEnterpriseSmsPackageService {
/**
* 查询该商户套餐包里全部拥有的可用短信条数
* @return
*/
Integer
getTotalSmsInPackageByEnterpriseId
(
Integer
enterpriseId
);
RAtomicLong
getTotalSmsInPackageByEnterpriseId
(
Integer
enterpriseId
);
}
gic-platform-enterprise-service/src/main/java/com/gic/enterprise/service/impl/BillingEnterpriseSmsPackageServiceImpl.java
View file @
46ff5826
package
com
.
gic
.
enterprise
.
service
.
impl
;
import
com.gic.commons.util.EntityUtil
;
import
com.gic.enterprise.constant.Constants
;
import
com.gic.enterprise.dao.mapper.TabBillingEnterpriseSmsPackageMapper
;
import
com.gic.enterprise.dto.BillingEnterpriseSmsPackageDTO
;
import
com.gic.enterprise.entity.TabBillingEnterpriseSmsPackage
;
import
com.gic.enterprise.service.BillingEnterpriseSmsPackageService
;
import
com.gic.redis.data.util.RedisUtil
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.redisson.api.RAtomicLong
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -15,6 +21,8 @@ import java.util.List;
@Service
(
"billingEnterpriseSmsPackageService"
)
public
class
BillingEnterpriseSmsPackageServiceImpl
implements
BillingEnterpriseSmsPackageService
{
private
Logger
logger
=
LogManager
.
getLogger
(
BillingEnterpriseSmsPackageServiceImpl
.
class
);
@Autowired
private
TabBillingEnterpriseSmsPackageMapper
tabBillingEnterpriseSmsPackageMapper
;
...
...
@@ -61,7 +69,17 @@ public class BillingEnterpriseSmsPackageServiceImpl implements BillingEnterprise
}
@Override
public
Integer
getTotalSmsInPackageByEnterpriseId
(
Integer
enterpriseId
)
{
return
tabBillingEnterpriseSmsPackageMapper
.
getTotalSmsInPackageByEnterpriseId
(
enterpriseId
);
public
RAtomicLong
getTotalSmsInPackageByEnterpriseId
(
Integer
enterpriseId
)
{
RedissonClient
redisClient
=
RedisUtil
.
getRedisClient
();
RAtomicLong
smsCountR
=
redisClient
.
getAtomicLong
(
Constants
.
ENTERPRISE_BILLING_SMS_PACKAGE_COUNT
+
enterpriseId
);
long
smsPackageCount
=
smsCountR
.
get
();
if
(
smsPackageCount
==
0
)
{
RedisUtil
.
lock
(
Constants
.
ENTERPRISE_BILLING_SMS_PACKAGE_COUNT_LOCK
+
enterpriseId
,
30L
);
logger
.
info
(
"redis中没有套餐包 查询数据库:{}"
,
enterpriseId
);
Integer
totalSms
=
tabBillingEnterpriseSmsPackageMapper
.
getTotalSmsInPackageByEnterpriseId
(
enterpriseId
);
smsCountR
.
set
(
totalSms
);
RedisUtil
.
unlock
(
Constants
.
ENTERPRISE_BILLING_SMS_PACKAGE_COUNT_LOCK
+
enterpriseId
);
}
return
smsCountR
;
}
}
gic-platform-enterprise-service/src/main/java/com/gic/enterprise/service/outer/impl/SmsRecordApiServiceImpl.java
View file @
46ff5826
...
...
@@ -12,12 +12,10 @@ 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
;
import
com.gic.store.utils.valid.ValidUtil
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.redisson.api.RAtomicLong
;
import
org.redisson.api.RedissonClient
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -50,8 +48,7 @@ public class SmsRecordApiServiceImpl implements SmsRecordApiService {
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
);
RAtomicLong
smsCountR
=
billingEnterpriseSmsPackageService
.
getTotalSmsInPackageByEnterpriseId
(
enterpriseId
);
long
smsPackageCount
=
smsCountR
.
get
();
if
(
smsPackageCount
>
sendCount
)
{
logger
.
info
(
"enterpriseId:{}, 短信套餐包条数:{}, 发送条数:{}, 可以发送"
,
enterpriseId
,
smsPackageCount
,
sendCount
);
...
...
@@ -101,8 +98,7 @@ public class SmsRecordApiServiceImpl implements SmsRecordApiService {
SmsRecordDTO
smsRecordDTO
=
JSON
.
parseObject
(
arg
,
SmsRecordDTO
.
class
);
// 判断是扣套餐包还是扣余额
RedissonClient
redisClient
=
RedisUtil
.
getRedisClient
();
RAtomicLong
smsCount
=
redisClient
.
getAtomicLong
(
Constants
.
ENTERPRISE_BILLING_SMS_PACKAGE_COUNT
+
smsRecordDTO
.
getEnterpriseId
());
RAtomicLong
smsCount
=
billingEnterpriseSmsPackageService
.
getTotalSmsInPackageByEnterpriseId
(
smsRecordDTO
.
getEnterpriseId
());
smsRecordDTO
.
setCacheStatus
(
0
);
smsRecordDTO
.
setDatabaseStatus
(
0
);
...
...
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