mirror of
https://github.com/dqjdda/Aurora.git
synced 2018-11-06 05:33:29 +00:00
阿里云短信完善完成
This commit is contained in:
+16
-16
@@ -3,8 +3,8 @@ package me.aurora.app.rest.utils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import me.aurora.annotation.Log;
|
||||
import me.aurora.domain.ResponseEntity;
|
||||
import me.aurora.domain.utils.AliDayuConfig;
|
||||
import me.aurora.service.AliDayuService;
|
||||
import me.aurora.domain.utils.AliSmsConfig;
|
||||
import me.aurora.service.AliSmsService;
|
||||
import me.aurora.util.HttpContextUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -18,36 +18,36 @@ import javax.servlet.http.HttpServletRequest;
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("aliDayu")
|
||||
public class AliDayuController {
|
||||
@RequestMapping("aliSms")
|
||||
public class AliSmsController {
|
||||
|
||||
@Autowired
|
||||
private AliDayuService aliDayuService;
|
||||
private AliSmsService aliSmsService;
|
||||
|
||||
@GetMapping(value = "/index")
|
||||
public ModelAndView index(){
|
||||
AliDayuConfig aliDayuConfig = aliDayuService.findById(1L);
|
||||
AliSmsConfig aliDayuConfig = aliSmsService.findById(1L);
|
||||
HttpServletRequest request = HttpContextUtils.getHttpServletRequest();
|
||||
request.setAttribute("aliDayu",aliDayuConfig);
|
||||
request.setAttribute("aliSms",aliDayuConfig);
|
||||
if(aliDayuConfig == null){
|
||||
request.setAttribute("aliDayu",new AliDayuConfig());
|
||||
request.setAttribute("aliSms",new AliSmsConfig());
|
||||
}
|
||||
return new ModelAndView("/utils/aliDayu/index");
|
||||
return new ModelAndView("/utils/aliSms/index");
|
||||
}
|
||||
|
||||
@Log("配置阿里大鱼")
|
||||
@Log("配置阿里短信")
|
||||
@PostMapping(value = "/config")
|
||||
public ResponseEntity emailConfig(@RequestBody @Validated(AliDayuConfig.Update.class) AliDayuConfig aliDayuConfig){
|
||||
log.warn("REST request to aliDayu AliDayuConfig : {}" +aliDayuConfig);
|
||||
aliDayuConfig.setId(1L);
|
||||
aliDayuService.updateConfig(aliDayuConfig,aliDayuService.findById(1L));
|
||||
public ResponseEntity emailConfig(@RequestBody @Validated(AliSmsConfig.Update.class) AliSmsConfig aliSmsConfig){
|
||||
log.warn("REST request to aliSmsConfig AliSmsConfig : {}" +aliSmsConfig);
|
||||
aliSmsConfig.setId(1L);
|
||||
aliSmsService.updateConfig(aliSmsConfig,aliSmsService.findById(1L));
|
||||
return ResponseEntity.ok();
|
||||
}
|
||||
|
||||
@Log("发送短信")
|
||||
@PostMapping(value = "send")
|
||||
@PostMapping(value = "/send")
|
||||
public ResponseEntity send(@RequestParam String phone,@RequestParam String code) throws Exception {
|
||||
log.warn("REST request to send SMS : {}" +phone);
|
||||
return aliDayuService.send(aliDayuService.findById(1L),phone,code);
|
||||
return aliSmsService.send(aliSmsService.findById(1L),phone,code);
|
||||
}
|
||||
}
|
||||
+2
-2
@@ -12,8 +12,8 @@ import java.io.Serializable;
|
||||
*/
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name = "zj_alidayu_config")
|
||||
public class AliDayuConfig implements Serializable {
|
||||
@Table(name = "zj_alisms_config")
|
||||
public class AliSmsConfig implements Serializable {
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
+2
-2
@@ -1,11 +1,11 @@
|
||||
package me.aurora.repository;
|
||||
|
||||
import me.aurora.domain.utils.AliDayuConfig;
|
||||
import me.aurora.domain.utils.AliSmsConfig;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
/**
|
||||
* @author 郑杰
|
||||
* @date 2018/10/29 16:59:52
|
||||
*/
|
||||
public interface AliDayuRepo extends JpaRepository<AliDayuConfig,Long> {
|
||||
public interface AliSmsRepo extends JpaRepository<AliSmsConfig,Long> {
|
||||
}
|
||||
+6
-8
@@ -1,10 +1,8 @@
|
||||
package me.aurora.service;
|
||||
|
||||
import com.aliyuncs.exceptions.ClientException;
|
||||
import me.aurora.domain.ResponseEntity;
|
||||
import me.aurora.domain.utils.AliDayuConfig;
|
||||
import me.aurora.domain.utils.AliSmsConfig;
|
||||
import org.springframework.cache.annotation.CacheConfig;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.CachePut;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
|
||||
@@ -12,8 +10,8 @@ import org.springframework.cache.annotation.Cacheable;
|
||||
* @author 郑杰
|
||||
* @date 2018/10/29 16:59:00
|
||||
*/
|
||||
@CacheConfig(cacheNames = "aLiDaYu")
|
||||
public interface AliDayuService {
|
||||
@CacheConfig(cacheNames = "aliSms")
|
||||
public interface AliSmsService {
|
||||
|
||||
/**
|
||||
* 根据ID查询
|
||||
@@ -21,10 +19,10 @@ public interface AliDayuService {
|
||||
* @return
|
||||
*/
|
||||
@Cacheable(key = "#p0")
|
||||
AliDayuConfig findById(long id);
|
||||
AliSmsConfig findById(long id);
|
||||
|
||||
@CachePut(key = "#p0.getId()")
|
||||
AliDayuConfig updateConfig(AliDayuConfig aliDayuConfig, AliDayuConfig old);
|
||||
AliSmsConfig updateConfig(AliSmsConfig aliSmsConfig, AliSmsConfig old);
|
||||
|
||||
ResponseEntity send(AliDayuConfig byId, String phone, String code) throws Exception;
|
||||
ResponseEntity send(AliSmsConfig aliSmsConfig, String phone, String code) throws Exception;
|
||||
}
|
||||
+14
-14
@@ -11,9 +11,9 @@ import com.aliyuncs.profile.DefaultProfile;
|
||||
import com.aliyuncs.profile.IClientProfile;
|
||||
import me.aurora.config.exception.AuroraException;
|
||||
import me.aurora.domain.ResponseEntity;
|
||||
import me.aurora.domain.utils.AliDayuConfig;
|
||||
import me.aurora.repository.AliDayuRepo;
|
||||
import me.aurora.service.AliDayuService;
|
||||
import me.aurora.domain.utils.AliSmsConfig;
|
||||
import me.aurora.repository.AliSmsRepo;
|
||||
import me.aurora.service.AliSmsService;
|
||||
import me.aurora.util.AuroraConstant;
|
||||
import me.aurora.util.EncryptHelper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -28,38 +28,38 @@ import java.util.Optional;
|
||||
*/
|
||||
@Service
|
||||
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
|
||||
public class AliDayuServiceImpl implements AliDayuService {
|
||||
public class AliSmsServiceImpl implements AliSmsService {
|
||||
|
||||
@Autowired
|
||||
private AliDayuRepo aliDayuRepo;
|
||||
private AliSmsRepo aliDayuRepo;
|
||||
|
||||
@Override
|
||||
public AliDayuConfig findById(long id) {
|
||||
public AliSmsConfig findById(long id) {
|
||||
|
||||
Optional<AliDayuConfig> aliDayuConfig = aliDayuRepo.findById(id);
|
||||
Optional<AliSmsConfig> aliSmsConfig = aliDayuRepo.findById(id);
|
||||
|
||||
if(!aliDayuConfig.isPresent()){
|
||||
if(!aliSmsConfig.isPresent()){
|
||||
return null;
|
||||
}
|
||||
return aliDayuConfig.get();
|
||||
return aliSmsConfig.get();
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Override
|
||||
public AliDayuConfig updateConfig(AliDayuConfig aliDayuConfig, AliDayuConfig old) {
|
||||
public AliSmsConfig updateConfig(AliSmsConfig aliSmsConfig, AliSmsConfig old) {
|
||||
|
||||
try {
|
||||
if(!aliDayuConfig.getAccessKeySecret().equals(old.getAccessKeySecret())){
|
||||
aliDayuConfig.setAccessKeySecret(EncryptHelper.desEncrypt(aliDayuConfig.getAccessKeySecret()));
|
||||
if(!aliSmsConfig.getAccessKeySecret().equals(old.getAccessKeySecret())){
|
||||
aliSmsConfig.setAccessKeySecret(EncryptHelper.desEncrypt(aliSmsConfig.getAccessKeySecret()));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return aliDayuRepo.save(aliDayuConfig);
|
||||
return aliDayuRepo.save(aliSmsConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity send(AliDayuConfig config, String phone, String code) throws Exception {
|
||||
public ResponseEntity send(AliSmsConfig config, String phone, String code) throws Exception {
|
||||
|
||||
//短信API产品名称(短信产品名固定,无需修改)
|
||||
final String product = "Dysmsapi";
|
||||
@@ -33,7 +33,7 @@
|
||||
</div>
|
||||
<div class="layui-layout-left">
|
||||
</div>
|
||||
<div id="tp-weather-widget" style="margin-top: -3%;margin-left: 70%"></div>
|
||||
<div id="tp-weather-widget" style="margin-top: -3%;margin-left: 71%"></div>
|
||||
<script>(function(T,h,i,n,k,P,a,g,e){g=function(){P=h.createElement(i);a=h.getElementsByTagName(i)[0];P.src=k;P.charset="utf-8";P.async=1;a.parentNode.insertBefore(P,a)};T["ThinkPageWeatherWidgetObject"]=n;T[n]||(T[n]=function(){(T[n].q=T[n].q||[]).push(arguments)});T[n].l=+new Date();if(T.attachEvent){T.attachEvent("onload",g)}else{T.addEventListener("load",g,false)}}(window,document,"script","tpwidget","//widget.seniverse.com/widget/chameleon.js"))</script>
|
||||
<script>tpwidget("init", {
|
||||
"flavor": "slim",
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<label class="layui-form-label">上级类目</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="pid" lay-filter="top" lay-verify="" lay-search>
|
||||
<option value="0">无</option>
|
||||
<option value="0">顶级类目</option>
|
||||
<option th:each="m:${topMenus}" th:value="${m.id}">[[${m.name}]]</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
<label class="layui-form-label">上级类目</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="pid" lay-filter="top" lay-verify="" lay-search>
|
||||
<option value="0">无</option>
|
||||
<option value="0">顶级类目</option>
|
||||
<option th:selected="${menu.pid == m.id}" th:each="m:${topMenus}" th:value="${m.id}">[[${m.name}]]</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
data:{username:username,password:password,rememberMe:$("#rememberMe").is(':checked')},
|
||||
type:"POST",
|
||||
beforeSend:function(){
|
||||
layer.msg('开始登录');
|
||||
layer.msg('开始登录',{time:1000});
|
||||
},
|
||||
success:function(result){
|
||||
layer.close(load);
|
||||
|
||||
+6
-6
@@ -10,28 +10,28 @@
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 100px"><span class="layui-badge-dot"></span> AccessKeyId</label>
|
||||
<div class="layui-input-inline" style="width: 40%">
|
||||
<input name="accessKeyId" th:value="${aliDayu.accessKeyId}" lay-verify="required" placeholder="请输入AccessKeyId" autocomplete="off" class="layui-input" type="text">
|
||||
<input name="accessKeyId" th:value="${aliSms.accessKeyId}" lay-verify="required" placeholder="请输入AccessKeyId" autocomplete="off" class="layui-input" type="text">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux"> (必填)你的accessKeyId</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 100px"><span class="layui-badge-dot"></span> KeySecret</label>
|
||||
<div class="layui-input-inline" style="width: 40%">
|
||||
<input name="accessKeySecret" th:value="${aliDayu.accessKeySecret}" lay-verify="accessKeySecret" placeholder="请输入KeySecret" autocomplete="off" class="layui-input" type="password">
|
||||
<input name="accessKeySecret" th:value="${aliSms.accessKeySecret}" lay-verify="accessKeySecret" placeholder="请输入KeySecret" autocomplete="off" class="layui-input" type="password">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux"> (必填)你的accessKeySecret</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 100px"><span class="layui-badge-dot"></span> 短信签名</label>
|
||||
<div class="layui-input-inline" style="width: 40%">
|
||||
<input name="signName" th:value="${aliDayu.signName}" lay-verify="required" placeholder="请输入短信签名" autocomplete="off" class="layui-input" type="text">
|
||||
<input name="signName" th:value="${aliSms.signName}" lay-verify="required" placeholder="请输入短信签名" autocomplete="off" class="layui-input" type="text">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux"> (必填)短信签名-可在短信控制台中找到</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label" style="width: 100px"><span class="layui-badge-dot"></span> 短信模板</label>
|
||||
<div class="layui-input-inline" style="width: 40%">
|
||||
<input name="templateCode" th:value="${aliDayu.templateCode}" lay-verify="required" placeholder="请输入短信模板" autocomplete="off" class="layui-input" type="text">
|
||||
<input name="templateCode" th:value="${aliSms.templateCode}" lay-verify="required" placeholder="请输入短信模板" autocomplete="off" class="layui-input" type="text">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux"> (必填)短信模板-可在短信控制台中找到</div>
|
||||
</div>
|
||||
@@ -136,7 +136,7 @@ if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK"))
|
||||
//监听提交,发送请求
|
||||
form.on('submit(saveConfig)', function(){
|
||||
$.ajax({
|
||||
url:"/aliDayu/config",
|
||||
url:"/aliSms/config",
|
||||
contentType: "application/json",
|
||||
type: "POST",
|
||||
data:JSON.stringify({
|
||||
@@ -168,7 +168,7 @@ if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK"))
|
||||
form.on('submit(toXin)', function(){
|
||||
|
||||
$.ajax({
|
||||
url:'/aliDayu/send',
|
||||
url:'/aliSms/send',
|
||||
type: "POST",
|
||||
data:{
|
||||
phone:$("input[name='phone']").val(),
|
||||
Reference in New Issue
Block a user