Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
551f6aa6
提交
551f6aa6
authored
5月 18, 2019
作者:
sin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
- 短信模板 、 和签名
上级
be94f297
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
195 行增加
和
49 行删除
+195
-49
SmsPlatform.java
.../src/main/java/cn/iocoder/mall/admin/api/SmsPlatform.java
+15
-11
SmsService.java
...i/src/main/java/cn/iocoder/mall/admin/api/SmsService.java
+11
-4
AdminErrorCodeEnum.java
...n/iocoder/mall/admin/api/constant/AdminErrorCodeEnum.java
+3
-6
SmsSignDO.java
...main/java/cn/iocoder/mall/admin/dataobject/SmsSignDO.java
+2
-0
SmsTemplateDO.java
.../java/cn/iocoder/mall/admin/dataobject/SmsTemplateDO.java
+2
-0
SmsServiceImpl.java
...in/java/cn/iocoder/mall/admin/service/SmsServiceImpl.java
+38
-4
SmsYunPianPlatform.java
...ava/cn/iocoder/mall/admin/service/SmsYunPianPlatform.java
+81
-21
SmsServiceImplTest.java
...ava/cn/iocoder/mall/admin/service/SmsServiceImplTest.java
+43
-3
没有找到文件。
system/system-service-api/src/main/java/cn/iocoder/mall/admin/api/SmsPlatform.java
浏览文件 @
551f6aa6
package
cn
.
iocoder
.
mall
.
admin
.
api
;
package
cn
.
iocoder
.
mall
.
admin
.
api
;
import
cn.iocoder.mall.admin.api.bo.sms.SmsSignBO
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
/**
/**
* 短信平台
* 短信平台
...
@@ -56,25 +53,32 @@ public interface SmsPlatform {
...
@@ -56,25 +53,32 @@ public interface SmsPlatform {
/**
/**
* 模板 - 创建
* 模板 - 创建
*
*
* @param sign 选用的哪个签名
* @param template 模板内容
* @param template 模板内容
* @param tplType 1 为验证码类型,其他为 null
* @param tplType 1 为验证码类型,其他为 null
*/
*/
Result
createTemplate
(
String
sign
,
String
template
,
Integer
tplType
);
Result
createTemplate
(
String
template
,
Integer
tplType
);
/**
/**
*
获取模板信息
*
模板 - 获取
*
*
* @param t
ip
Id
* @param t
pl
Id
*/
*/
Result
getTemplate
(
String
t
ip
Id
);
Result
getTemplate
(
String
t
pl
Id
);
/**
/**
*
更新模板内容
*
模板 - 更新
*
*
* @param t
ip
Id 选用的哪个签名
* @param t
pl
Id 选用的哪个签名
* @param template 模板内容
* @param template 模板内容
* @param tplType 1 为验证码类型,其他为 null
* @param tplType 1 为验证码类型,其他为 null
*/
*/
Result
updateTemplate
(
String
tipId
,
String
template
,
Integer
tplType
);
Result
updateTemplate
(
String
tplId
,
String
template
,
Integer
tplType
);
/**
* 模板 - 删除
*
* @param tplId
* @return
*/
Result
deleteTemplate
(
String
tplId
);
}
}
system/system-service-api/src/main/java/cn/iocoder/mall/admin/api/SmsService.java
浏览文件 @
551f6aa6
...
@@ -43,18 +43,25 @@ public interface SmsService {
...
@@ -43,18 +43,25 @@ public interface SmsService {
void
createTemplate
(
Integer
smsSignId
,
String
template
,
Integer
tplType
);
void
createTemplate
(
Integer
smsSignId
,
String
template
,
Integer
tplType
);
/**
/**
*
获取模板信息
*
模板 - 获取
*
*
* @param id
* @param id
*/
*/
SmsTemplateBO
getTemplate
(
String
id
);
SmsTemplateBO
getTemplate
(
Integer
id
);
/**
/**
*
更新模板内容
*
模板 - 更新
*
*
* @param id 模板id
* @param id 模板id
* @param template 模板内容
* @param template 模板内容
* @param tplType 1 为验证码类型,其他为 null
* @param tplType 1 为验证码类型,其他为 null
*/
*/
void
updateTemplate
(
String
id
,
String
template
,
Integer
tplType
);
void
updateTemplate
(
Integer
id
,
String
template
,
Integer
tplType
);
/**
* 模板 - 删除
*
* @param id
*/
void
deleteTemplate
(
Integer
id
);
}
}
system/system-service-api/src/main/java/cn/iocoder/mall/admin/api/constant/AdminErrorCodeEnum.java
浏览文件 @
551f6aa6
...
@@ -48,14 +48,11 @@ public enum AdminErrorCodeEnum {
...
@@ -48,14 +48,11 @@ public enum AdminErrorCodeEnum {
DATA_DICT_NOT_EXISTS
(
1002005001
,
"该数据字典不存在"
),
DATA_DICT_NOT_EXISTS
(
1002005001
,
"该数据字典不存在"
),
// ========== 短信模板 1002006000 ==========
// ========== 短信模板 1002006000 ==========
SMS_
SIGN_ADD_FAIL
(
1002006000
,
"短信签名
添加失败"
),
SMS_
PLATFORM_FAIL
(
1002006000
,
"短信模板
添加失败"
),
SMS_SIGN_NOT_EXISTENT
(
1002006001
,
"短信签名不存在"
),
SMS_SIGN_NOT_EXISTENT
(
1002006001
,
"短信签名不存在"
),
SMS_SIGN_IS_EXISTENT
(
1002006002
,
"短信签名已存在"
),
SMS_SIGN_IS_EXISTENT
(
1002006002
,
"短信签名已存在"
),
SMS_SIGN_UPDATE_FAIL
(
1002006003
,
"短信更新失败"
),
SMS_TEMPLATE_NOT_EXISTENT
(
1002006020
,
"短信签名不存在"
),
SMS_TEMPLATE_IS_EXISTENT
(
1002006021
,
"短信签名不存在"
),
SMS_TEMPLATE_ADD_FAIL
(
1002006020
,
"短信签名不存在"
),
SMS_TEMPLATE_NOT_EXISTENT
(
1002006021
,
"短信签名不存在"
),
SMS_TEMPLATE_IS_EXISTENT
(
1002006022
,
"短信签名不存在"
),
;
;
private
final
int
code
;
private
final
int
code
;
...
...
system/system-service-impl/src/main/java/cn/iocoder/mall/admin/dataobject/SmsSignDO.java
浏览文件 @
551f6aa6
...
@@ -2,6 +2,7 @@ package cn.iocoder.mall.admin.dataobject;
...
@@ -2,6 +2,7 @@ package cn.iocoder.mall.admin.dataobject;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
...
@@ -15,6 +16,7 @@ import lombok.experimental.Accessors;
...
@@ -15,6 +16,7 @@ import lombok.experimental.Accessors;
*/
*/
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"sms_sign"
)
public
class
SmsSignDO
extends
DeletableDO
{
public
class
SmsSignDO
extends
DeletableDO
{
/**
/**
...
...
system/system-service-impl/src/main/java/cn/iocoder/mall/admin/dataobject/SmsTemplateDO.java
浏览文件 @
551f6aa6
package
cn
.
iocoder
.
mall
.
admin
.
dataobject
;
package
cn
.
iocoder
.
mall
.
admin
.
dataobject
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
import
cn.iocoder.common.framework.dataobject.DeletableDO
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
lombok.experimental.Accessors
;
...
@@ -12,6 +13,7 @@ import lombok.experimental.Accessors;
...
@@ -12,6 +13,7 @@ import lombok.experimental.Accessors;
*/
*/
@Data
@Data
@Accessors
(
chain
=
true
)
@Accessors
(
chain
=
true
)
@TableName
(
"sms_template"
)
public
class
SmsTemplateDO
extends
DeletableDO
{
public
class
SmsTemplateDO
extends
DeletableDO
{
/**
/**
...
...
system/system-service-impl/src/main/java/cn/iocoder/mall/admin/service/SmsServiceImpl.java
浏览文件 @
551f6aa6
...
@@ -14,6 +14,7 @@ import cn.iocoder.mall.admin.dao.SmsTemplateMapper;
...
@@ -14,6 +14,7 @@ import cn.iocoder.mall.admin.dao.SmsTemplateMapper;
import
cn.iocoder.mall.admin.dataobject.SmsSignDO
;
import
cn.iocoder.mall.admin.dataobject.SmsSignDO
;
import
cn.iocoder.mall.admin.dataobject.SmsTemplateDO
;
import
cn.iocoder.mall.admin.dataobject.SmsTemplateDO
;
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
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -31,6 +32,8 @@ import java.util.Date;
...
@@ -31,6 +32,8 @@ import java.util.Date;
@org
.
apache
.
dubbo
.
config
.
annotation
.
Service
(
validation
=
"true"
,
version
=
"${dubbo.provider.SmsService.version}"
)
@org
.
apache
.
dubbo
.
config
.
annotation
.
Service
(
validation
=
"true"
,
version
=
"${dubbo.provider.SmsService.version}"
)
public
class
SmsServiceImpl
implements
SmsService
{
public
class
SmsServiceImpl
implements
SmsService
{
private
static
final
String
SMS_TEMPLATE
=
"【%s】%s"
;
@Autowired
@Autowired
private
SmsSignMapper
smsSignMapper
;
private
SmsSignMapper
smsSignMapper
;
@Autowired
@Autowired
...
@@ -64,6 +67,7 @@ public class SmsServiceImpl implements SmsService {
...
@@ -64,6 +67,7 @@ public class SmsServiceImpl implements SmsService {
.
setApplyStatus
(
result
.
getApplyStatus
())
.
setApplyStatus
(
result
.
getApplyStatus
())
.
setDeleted
(
DeletedStatusEnum
.
DELETED_NO
.
getValue
())
.
setDeleted
(
DeletedStatusEnum
.
DELETED_NO
.
getValue
())
.
setUpdateTime
(
new
Date
())
.
setUpdateTime
(
new
Date
())
.
setCreateTime
(
new
Date
())
);
);
}
}
...
@@ -107,6 +111,7 @@ public class SmsServiceImpl implements SmsService {
...
@@ -107,6 +111,7 @@ public class SmsServiceImpl implements SmsService {
}
}
@Override
@Override
@Transactional
public
void
createTemplate
(
Integer
smsSignId
,
String
template
,
Integer
tplType
)
{
public
void
createTemplate
(
Integer
smsSignId
,
String
template
,
Integer
tplType
)
{
SmsSignDO
smsSignDO
=
smsSignMapper
.
selectOne
(
SmsSignDO
smsSignDO
=
smsSignMapper
.
selectOne
(
...
@@ -119,7 +124,7 @@ public class SmsServiceImpl implements SmsService {
...
@@ -119,7 +124,7 @@ public class SmsServiceImpl implements SmsService {
// 调用平台
// 调用平台
SmsPlatform
.
Result
result
=
smsPlatform
SmsPlatform
.
Result
result
=
smsPlatform
.
createTemplate
(
smsSignDO
.
getSign
(),
template
,
tplType
);
.
createTemplate
(
String
.
format
(
SMS_TEMPLATE
,
smsSignDO
.
getSign
(),
template
)
,
tplType
);
// 保存数据库
// 保存数据库
smsTemplateMapper
.
insert
(
smsTemplateMapper
.
insert
(
...
@@ -136,7 +141,7 @@ public class SmsServiceImpl implements SmsService {
...
@@ -136,7 +141,7 @@ public class SmsServiceImpl implements SmsService {
}
}
@Override
@Override
public
SmsTemplateBO
getTemplate
(
String
id
)
{
public
SmsTemplateBO
getTemplate
(
Integer
id
)
{
SmsTemplateDO
smsTemplateDO
=
smsTemplateMapper
.
selectOne
(
SmsTemplateDO
smsTemplateDO
=
smsTemplateMapper
.
selectOne
(
new
QueryWrapper
<
SmsTemplateDO
>().
eq
(
"id"
,
id
));
new
QueryWrapper
<
SmsTemplateDO
>().
eq
(
"id"
,
id
));
...
@@ -149,7 +154,8 @@ public class SmsServiceImpl implements SmsService {
...
@@ -149,7 +154,8 @@ public class SmsServiceImpl implements SmsService {
}
}
@Override
@Override
public
void
updateTemplate
(
String
id
,
String
template
,
Integer
tplType
)
{
@Transactional
public
void
updateTemplate
(
Integer
id
,
String
template
,
Integer
tplType
)
{
SmsTemplateDO
smsTemplateDO
=
smsTemplateMapper
.
selectOne
(
SmsTemplateDO
smsTemplateDO
=
smsTemplateMapper
.
selectOne
(
new
QueryWrapper
<
SmsTemplateDO
>().
eq
(
"id"
,
id
));
new
QueryWrapper
<
SmsTemplateDO
>().
eq
(
"id"
,
id
));
...
@@ -158,15 +164,43 @@ public class SmsServiceImpl implements SmsService {
...
@@ -158,15 +164,43 @@ public class SmsServiceImpl implements SmsService {
AdminErrorCodeEnum
.
SMS_TEMPLATE_NOT_EXISTENT
.
getMessage
());
AdminErrorCodeEnum
.
SMS_TEMPLATE_NOT_EXISTENT
.
getMessage
());
}
}
SmsSignDO
smsSignDO
=
smsSignMapper
.
selectOne
(
new
QueryWrapper
<
SmsSignDO
>().
eq
(
"id"
,
smsTemplateDO
.
getSmsSignId
()));
SmsPlatform
.
Result
result
=
smsPlatform
.
updateTemplate
(
SmsPlatform
.
Result
result
=
smsPlatform
.
updateTemplate
(
smsTemplateDO
.
getPlatformId
(),
template
,
tplType
);
smsTemplateDO
.
getPlatformId
(),
String
.
format
(
SMS_TEMPLATE
,
smsSignDO
.
getSign
(),
template
),
tplType
);
smsTemplateMapper
.
update
(
smsTemplateMapper
.
update
(
(
SmsTemplateDO
)
new
SmsTemplateDO
()
(
SmsTemplateDO
)
new
SmsTemplateDO
()
.
setTemplate
(
template
)
.
setApplyStatus
(
result
.
getApplyStatus
())
.
setApplyStatus
(
result
.
getApplyStatus
())
.
setApplyMessage
(
result
.
getApplyMessage
())
.
setApplyMessage
(
result
.
getApplyMessage
())
.
setUpdateTime
(
new
Date
()),
.
setUpdateTime
(
new
Date
()),
new
QueryWrapper
<
SmsTemplateDO
>().
eq
(
"id"
,
id
)
new
QueryWrapper
<
SmsTemplateDO
>().
eq
(
"id"
,
id
)
);
);
}
}
@Override
@Transactional
public
void
deleteTemplate
(
Integer
id
)
{
SmsTemplateDO
smsTemplateDO
=
smsTemplateMapper
.
selectOne
(
new
QueryWrapper
<
SmsTemplateDO
>().
eq
(
"id"
,
id
));
if
(
smsTemplateDO
==
null
||
smsTemplateDO
.
getDeleted
().
equals
(
DeletedStatusEnum
.
DELETED_YES
.
getValue
()))
{
throw
new
ServiceException
(
AdminErrorCodeEnum
.
SMS_TEMPLATE_NOT_EXISTENT
.
getCode
(),
AdminErrorCodeEnum
.
SMS_TEMPLATE_NOT_EXISTENT
.
getMessage
());
}
// 删除 平台的模板
smsPlatform
.
deleteTemplate
(
smsTemplateDO
.
getPlatformId
());
// 删除 数据库模板
SmsTemplateDO
updateTemplate
=
new
SmsTemplateDO
();
updateTemplate
.
setDeleted
(
DeletedStatusEnum
.
DELETED_YES
.
getValue
());
smsTemplateMapper
.
delete
(
new
UpdateWrapper
<
SmsTemplateDO
>()
.
set
(
"deleted"
,
DeletedStatusEnum
.
DELETED_YES
).
eq
(
"id"
,
id
));
}
}
}
system/system-service-impl/src/main/java/cn/iocoder/mall/admin/service/SmsYunPianPlatform.java
浏览文件 @
551f6aa6
package
cn
.
iocoder
.
mall
.
admin
.
service
;
package
cn
.
iocoder
.
mall
.
admin
.
service
;
import
cn.iocoder.common.framework.exception.ServiceException
;
import
cn.iocoder.mall.admin.api.SmsPlatform
;
import
cn.iocoder.mall.admin.api.SmsPlatform
;
import
cn.iocoder.mall.admin.api.constant.AdminErrorCodeEnum
;
import
cn.iocoder.mall.admin.api.constant.AdminErrorCodeEnum
;
import
cn.iocoder.mall.admin.api.constant.SmsApplyStatusEnum
;
import
cn.iocoder.mall.admin.api.constant.SmsApplyStatusEnum
;
import
cn.iocoder.mall.admin.api.exception.SmsFailException
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
...
@@ -87,6 +87,10 @@ public class SmsYunPianPlatform implements SmsPlatform {
...
@@ -87,6 +87,10 @@ public class SmsYunPianPlatform implements SmsPlatform {
* 模板 - 更新
* 模板 - 更新
*/
*/
private
static
final
String
URL_TEMPLATE_UPDATE
=
"https://sms.yunpian.com/v2/tpl/update.json"
;
private
static
final
String
URL_TEMPLATE_UPDATE
=
"https://sms.yunpian.com/v2/tpl/update.json"
;
/**
* 模板 - 删除
*/
private
static
final
String
URL_TEMPLATE_DELETE
=
"https://sms.yunpian.com/v2/tpl/del.json"
;
//编码格式。发送编码格式统一用UTF-8
//编码格式。发送编码格式统一用UTF-8
private
static
String
ENCODING
=
"UTF-8"
;
private
static
String
ENCODING
=
"UTF-8"
;
...
@@ -96,6 +100,13 @@ public class SmsYunPianPlatform implements SmsPlatform {
...
@@ -96,6 +100,13 @@ public class SmsYunPianPlatform implements SmsPlatform {
@Override
@Override
public
Result
createSign
(
String
sign
)
{
public
Result
createSign
(
String
sign
)
{
try
{
// 存在直接 return 相当于,创建了
return
getSign
(
sign
);
}
catch
(
ServiceException
e
)
{
// skip 不存在会进这里,不错任何操作
}
// 调用 短信平台
// 调用 短信平台
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
params
.
put
(
"apikey"
,
apiKey
);
params
.
put
(
"apikey"
,
apiKey
);
...
@@ -103,9 +114,10 @@ public class SmsYunPianPlatform implements SmsPlatform {
...
@@ -103,9 +114,10 @@ public class SmsYunPianPlatform implements SmsPlatform {
params
.
put
(
"notify"
,
"true"
);
params
.
put
(
"notify"
,
"true"
);
String
result
=
post
(
URL_SIGN_ADD
,
params
);
String
result
=
post
(
URL_SIGN_ADD
,
params
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
if
(!(
jsonObject
.
getInteger
(
"code"
)
==
SUCCESS_CODE
))
{
if
(
jsonObject
.
containsKey
(
"code"
)
throw
new
SmsFailException
(
AdminErrorCodeEnum
.
SMS_SIGN_ADD_FAIL
.
getCode
(),
&&
!(
jsonObject
.
getInteger
(
"code"
)
==
SUCCESS_CODE
))
{
AdminErrorCodeEnum
.
SMS_SIGN_ADD_FAIL
.
getMessage
());
throw
new
ServiceException
(
AdminErrorCodeEnum
.
SMS_PLATFORM_FAIL
.
getCode
(),
jsonObject
.
getString
(
"detail"
));
}
}
JSONObject
signJSONObject
=
(
JSONObject
)
jsonObject
.
get
(
"sign"
);
JSONObject
signJSONObject
=
(
JSONObject
)
jsonObject
.
get
(
"sign"
);
...
@@ -123,14 +135,15 @@ public class SmsYunPianPlatform implements SmsPlatform {
...
@@ -123,14 +135,15 @@ public class SmsYunPianPlatform implements SmsPlatform {
String
result
=
post
(
URL_SIGN_GET
,
params
);
String
result
=
post
(
URL_SIGN_GET
,
params
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
if
(!(
jsonObject
.
getInteger
(
"code"
)
==
SUCCESS_CODE
))
{
if
(
jsonObject
.
containsKey
(
"code"
)
throw
new
SmsFailException
(
AdminErrorCodeEnum
.
SMS_SIGN_ADD_FAIL
.
getCode
(),
&&
!(
jsonObject
.
getInteger
(
"code"
)
==
SUCCESS_CODE
))
{
AdminErrorCodeEnum
.
SMS_SIGN_ADD_FAIL
.
getMessage
());
throw
new
ServiceException
(
AdminErrorCodeEnum
.
SMS_PLATFORM_FAIL
.
getCode
(),
jsonObject
.
getString
(
"detail"
));
}
}
JSONArray
jsonArray
=
jsonObject
.
getJSONArray
(
"sign"
);
JSONArray
jsonArray
=
jsonObject
.
getJSONArray
(
"sign"
);
if
(
jsonArray
.
size
()
<=
0
)
{
if
(
jsonArray
.
size
()
<=
0
)
{
throw
new
S
msFail
Exception
(
AdminErrorCodeEnum
.
SMS_SIGN_NOT_EXISTENT
.
getCode
(),
throw
new
S
ervice
Exception
(
AdminErrorCodeEnum
.
SMS_SIGN_NOT_EXISTENT
.
getCode
(),
AdminErrorCodeEnum
.
SMS_SIGN_NOT_EXISTENT
.
getMessage
());
AdminErrorCodeEnum
.
SMS_SIGN_NOT_EXISTENT
.
getMessage
());
}
}
...
@@ -150,9 +163,10 @@ public class SmsYunPianPlatform implements SmsPlatform {
...
@@ -150,9 +163,10 @@ public class SmsYunPianPlatform implements SmsPlatform {
String
result
=
post
(
URL_SIGN_UPDATE
,
params
);
String
result
=
post
(
URL_SIGN_UPDATE
,
params
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
if
(!(
jsonObject
.
getInteger
(
"code"
)
==
SUCCESS_CODE
))
{
if
(
jsonObject
.
containsKey
(
"code"
)
throw
new
SmsFailException
(
AdminErrorCodeEnum
.
SMS_SIGN_UPDATE_FAIL
.
getCode
(),
&&
!(
jsonObject
.
getInteger
(
"code"
)
==
SUCCESS_CODE
))
{
AdminErrorCodeEnum
.
SMS_SIGN_UPDATE_FAIL
.
getMessage
());
throw
new
ServiceException
(
AdminErrorCodeEnum
.
SMS_PLATFORM_FAIL
.
getCode
(),
jsonObject
.
getString
(
"detail"
));
}
}
JSONObject
signJSONObject
=
(
JSONObject
)
jsonObject
.
get
(
"sign"
);
JSONObject
signJSONObject
=
(
JSONObject
)
jsonObject
.
get
(
"sign"
);
...
@@ -161,15 +175,22 @@ public class SmsYunPianPlatform implements SmsPlatform {
...
@@ -161,15 +175,22 @@ public class SmsYunPianPlatform implements SmsPlatform {
}
}
@Override
@Override
public
Result
createTemplate
(
String
sign
,
String
template
,
Integer
tplType
)
{
public
Result
createTemplate
(
String
template
,
Integer
tplType
)
{
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
params
.
put
(
"apikey"
,
apiKey
);
params
.
put
(
"apikey"
,
apiKey
);
params
.
put
(
"tpl_content"
,
sign
+
template
);
params
.
put
(
"tpl_content"
,
template
);
if
(
tplType
!=
null
)
{
if
(
tplType
!=
null
)
{
params
.
put
(
"tplType"
,
String
.
valueOf
(
tplType
));
params
.
put
(
"tplType"
,
String
.
valueOf
(
tplType
));
}
}
String
result
=
post
(
URL_TEMPLATE_ADD
,
params
);
String
result
=
post
(
URL_TEMPLATE_ADD
,
params
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
if
(
jsonObject
.
containsKey
(
"code"
)
&&
!(
jsonObject
.
getInteger
(
"code"
)
==
SUCCESS_CODE
))
{
throw
new
ServiceException
(
AdminErrorCodeEnum
.
SMS_PLATFORM_FAIL
.
getCode
(),
jsonObject
.
getString
(
"detail"
));
}
String
tipId
=
jsonObject
.
getString
(
"tpl_id"
);
String
tipId
=
jsonObject
.
getString
(
"tpl_id"
);
String
checkStatus
=
jsonObject
.
getString
(
"check_status"
);
String
checkStatus
=
jsonObject
.
getString
(
"check_status"
);
String
reason
=
jsonObject
.
getString
(
"reason"
);
String
reason
=
jsonObject
.
getString
(
"reason"
);
...
@@ -178,32 +199,71 @@ public class SmsYunPianPlatform implements SmsPlatform {
...
@@ -178,32 +199,71 @@ public class SmsYunPianPlatform implements SmsPlatform {
}
}
@Override
@Override
public
Result
getTemplate
(
String
t
ip
Id
)
{
public
Result
getTemplate
(
String
t
pl
Id
)
{
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
params
.
put
(
"apikey"
,
apiKey
);
params
.
put
(
"apikey"
,
apiKey
);
params
.
put
(
"t
ipId"
,
tip
Id
);
params
.
put
(
"t
pl_id"
,
tpl
Id
);
String
result
=
post
(
URL_TEMPLATE_GET
,
params
);
String
result
=
post
(
URL_TEMPLATE_GET
,
params
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
if
(
jsonObject
.
containsKey
(
"code"
)
&&
!(
jsonObject
.
getInteger
(
"code"
)
==
SUCCESS_CODE
))
{
throw
new
ServiceException
(
AdminErrorCodeEnum
.
SMS_PLATFORM_FAIL
.
getCode
(),
jsonObject
.
getString
(
"detail"
));
}
String
checkStatus
=
jsonObject
.
getString
(
"check_status"
);
String
checkStatus
=
jsonObject
.
getString
(
"check_status"
);
Integer
applyStatus
=
smsStatusMapping
(
checkStatus
);
Integer
applyStatus
=
smsStatusMapping
(
checkStatus
);
String
reason
=
jsonObject
.
getString
(
"reason"
);
String
reason
=
jsonObject
.
getString
(
"reason"
);
return
new
Result
().
setId
(
t
ip
Id
).
setApplyStatus
(
applyStatus
).
setApplyMessage
(
reason
);
return
new
Result
().
setId
(
t
pl
Id
).
setApplyStatus
(
applyStatus
).
setApplyMessage
(
reason
);
}
}
@Override
@Override
public
Result
updateTemplate
(
String
t
ip
Id
,
String
template
,
Integer
tplType
)
{
public
Result
updateTemplate
(
String
t
pl
Id
,
String
template
,
Integer
tplType
)
{
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
params
.
put
(
"apikey"
,
apiKey
);
params
.
put
(
"apikey"
,
apiKey
);
params
.
put
(
"t
ipId"
,
tip
Id
);
params
.
put
(
"t
pl_id"
,
tpl
Id
);
params
.
put
(
"t
emplate
"
,
template
);
params
.
put
(
"t
pl_content
"
,
template
);
String
result
=
post
(
URL_TEMPLATE_UPDATE
,
params
);
String
result
=
post
(
URL_TEMPLATE_UPDATE
,
params
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
String
checkStatus
=
jsonObject
.
getString
(
"check_status"
);
if
(
jsonObject
.
containsKey
(
"code"
)
&&
!(
jsonObject
.
getInteger
(
"code"
)
==
SUCCESS_CODE
))
{
throw
new
ServiceException
(
AdminErrorCodeEnum
.
SMS_PLATFORM_FAIL
.
getCode
(),
jsonObject
.
getString
(
"detail"
));
}
JSONObject
templateJSONObject
=
(
JSONObject
)
jsonObject
.
get
(
"template"
);
String
checkStatus
=
templateJSONObject
.
getString
(
"check_status"
);
Integer
applyStatus
=
smsStatusMapping
(
checkStatus
);
Integer
applyStatus
=
smsStatusMapping
(
checkStatus
);
String
reason
=
jsonObject
.
getString
(
"reason"
);
String
reason
=
jsonObject
.
getString
(
"reason"
);
return
new
Result
().
setId
(
tipId
).
setApplyStatus
(
applyStatus
).
setApplyMessage
(
reason
);
return
new
Result
().
setId
(
tplId
).
setApplyStatus
(
applyStatus
).
setApplyMessage
(
reason
);
}
@Override
public
Result
deleteTemplate
(
String
tplId
)
{
// 如果不存在/已删除,直接返回
try
{
getTemplate
(
tplId
);
}
catch
(
ServiceException
e
)
{
// skip
return
new
Result
().
setId
(
tplId
).
setApplyStatus
(
null
).
setApplyMessage
(
null
);
}
Map
<
String
,
String
>
params
=
new
LinkedHashMap
<>();
params
.
put
(
"apikey"
,
apiKey
);
params
.
put
(
"tpl_id"
,
tplId
);
String
result
=
post
(
URL_TEMPLATE_DELETE
,
params
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
if
(
jsonObject
.
containsKey
(
"code"
)
&&
!(
jsonObject
.
getInteger
(
"code"
)
==
SUCCESS_CODE
))
{
throw
new
ServiceException
(
AdminErrorCodeEnum
.
SMS_PLATFORM_FAIL
.
getCode
(),
jsonObject
.
getString
(
"detail"
));
}
return
new
Result
().
setId
(
tplId
).
setApplyStatus
(
null
).
setApplyMessage
(
null
);
}
}
/**
/**
...
...
system/system-service-impl/src/test/java/cn/iocoder/mall/admin/service/SmsServiceImplTest.java
浏览文件 @
551f6aa6
package
cn
.
iocoder
.
mall
.
admin
.
service
;
package
cn
.
iocoder
.
mall
.
admin
.
service
;
import
cn.iocoder.mall.admin.SystemApplicationTest
;
import
cn.iocoder.mall.admin.SystemApplicationTest
;
import
cn.iocoder.mall.admin.service.SmsServiceImpl
;
import
cn.iocoder.mall.admin.api.bo.sms.SmsSignBO
;
import
cn.iocoder.mall.admin.api.bo.sms.SmsTemplateBO
;
import
org.junit.Assert
;
import
org.junit.Test
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runner.RunWith
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -23,7 +25,45 @@ public class SmsServiceImplTest {
...
@@ -23,7 +25,45 @@ public class SmsServiceImplTest {
@Test
@Test
public
void
createSignTest
()
{
public
void
createSignTest
()
{
// smsService.createSign("测试签名1");
smsService
.
createSign
(
"测试签名1"
);
smsService
.
getSign
(
"测试签名1"
);
// smsService.createSign("悦跑会");
}
@Test
public
void
getSignTest
()
{
SmsSignBO
smsSignBO
=
smsService
.
getSign
(
"悦跑会"
);
Assert
.
assertNotNull
(
smsSignBO
);
}
@Test
public
void
updateSignTest
()
{
smsService
.
updateSign
(
"测试签名2"
,
"测试签名3"
);
SmsSignBO
newSmsSignBO
=
smsService
.
getSign
(
"测试签名3"
);
Assert
.
assertNotNull
(
newSmsSignBO
);
}
///
/// template
@Test
public
void
createTemplateTest
()
{
smsService
.
createTemplate
(
1
,
"打死也不要告诉别人哦002 #code# "
,
1
);
}
@Test
public
void
getTemplateTest
()
{
SmsTemplateBO
smsTemplateBO
=
smsService
.
getTemplate
(
3
);
Assert
.
assertNotNull
(
smsTemplateBO
);
}
@Test
public
void
updateTemplateTest
()
{
smsService
.
updateTemplate
(
3
,
"打死也不要告诉别人哦444 #code# "
,
1
);
}
@Test
public
void
deleteTemplateTest
()
{
smsService
.
deleteTemplate
(
3
);
}
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论