diff --git a/jyjz-framework/jyjz-framework-securityweb/pom.xml b/jyjz-framework/jyjz-framework-securityweb/pom.xml index a40c0df..a91a0ee 100644 --- a/jyjz-framework/jyjz-framework-securityweb/pom.xml +++ b/jyjz-framework/jyjz-framework-securityweb/pom.xml @@ -55,6 +55,18 @@ jyjz-framework-security + + + com.aliyun + aliyun-java-sdk-core + 4.5.16 + + + com.aliyun + aliyun-java-sdk-dysmsapi + 2.1.0 + + com.github.penggle diff --git a/jyjz-framework/jyjz-framework-securityweb/src/main/java/cn/jyjz/xiaoyao/framework/security/service/impl/SmsLoginServiceImpl.java b/jyjz-framework/jyjz-framework-securityweb/src/main/java/cn/jyjz/xiaoyao/framework/security/service/impl/SmsLoginServiceImpl.java index 0ed5bda..a882b46 100644 --- a/jyjz-framework/jyjz-framework-securityweb/src/main/java/cn/jyjz/xiaoyao/framework/security/service/impl/SmsLoginServiceImpl.java +++ b/jyjz-framework/jyjz-framework-securityweb/src/main/java/cn/jyjz/xiaoyao/framework/security/service/impl/SmsLoginServiceImpl.java @@ -2,7 +2,6 @@ package cn.jyjz.xiaoyao.framework.security.service.impl; import cn.hutool.core.util.RandomUtil; import cn.jyjz.xiaoyao.common.base.config.XiaoyaoConfig; -import cn.jyjz.xiaoyao.common.base.constant.RequestParameterConstans; import cn.jyjz.xiaoyao.common.base.service.UserTokenOnlineService; import cn.jyjz.xiaoyao.common.base.service.UserTokenService; import cn.jyjz.xiaoyao.common.base.util.validator.PhoneNumberValidator; @@ -14,10 +13,10 @@ import cn.jyjz.xiaoyao.common.redis.cache.constants.CacheConstants; import cn.jyjz.xiaoyao.framework.security.authentication.sms.SmsProvider; import cn.jyjz.xiaoyao.framework.security.model.AdminUserModel; import cn.jyjz.xiaoyao.framework.security.service.SmsLoginService; +import cn.jyjz.xiaoyao.framework.security.sms.MsmService; import cn.jyjz.xiaoyao.framework.security.utils.JwtUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; @@ -26,6 +25,8 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; +import java.util.Map; import java.util.concurrent.Executor; import java.util.regex.Matcher; @@ -46,6 +47,9 @@ public class SmsLoginServiceImpl implements SmsLoginService { private SmsProvider smsProvider; @Resource private XiaoyaoConfig xiaoyaoConfig; + + @Resource + private MsmService msmservice; @Override public ResultVo sendCode(String phone) { //校验手机号 @@ -55,8 +59,12 @@ public class SmsLoginServiceImpl implements SmsLoginService { } //生成验证码 String code = RandomUtil.randomNumbers(6); - + //TODO 发送短信 + Map map=new HashMap<>(); + map.put("code",code); + msmservice.send(map,phone); + //用户登录信息写入缓存 iCacheManager.put(CacheConstants.USER_PHONE_MODEL_NAME,phone,code,CacheConstants.CACHE_TIME); diff --git a/jyjz-framework/jyjz-framework-securityweb/src/main/java/cn/jyjz/xiaoyao/framework/security/sms/MsmService.java b/jyjz-framework/jyjz-framework-securityweb/src/main/java/cn/jyjz/xiaoyao/framework/security/sms/MsmService.java new file mode 100644 index 0000000..26bc64b --- /dev/null +++ b/jyjz-framework/jyjz-framework-securityweb/src/main/java/cn/jyjz/xiaoyao/framework/security/sms/MsmService.java @@ -0,0 +1,8 @@ +package cn.jyjz.xiaoyao.framework.security.sms; + +import java.util.Map; + +public interface MsmService { + //发送验证码 + boolean send(Map param, String phone); +} diff --git a/jyjz-framework/jyjz-framework-securityweb/src/main/java/cn/jyjz/xiaoyao/framework/security/sms/MsmServiceImpl.java b/jyjz-framework/jyjz-framework-securityweb/src/main/java/cn/jyjz/xiaoyao/framework/security/sms/MsmServiceImpl.java new file mode 100644 index 0000000..a33bff5 --- /dev/null +++ b/jyjz-framework/jyjz-framework-securityweb/src/main/java/cn/jyjz/xiaoyao/framework/security/sms/MsmServiceImpl.java @@ -0,0 +1,46 @@ +package cn.jyjz.xiaoyao.framework.security.sms; + +import cn.jyjz.xiaoyao.common.base.util.StringUtils; +import com.alibaba.fastjson.JSONObject; +import com.aliyuncs.CommonRequest; +import com.aliyuncs.CommonResponse; +import com.aliyuncs.DefaultAcsClient; +import com.aliyuncs.IAcsClient; +import com.aliyuncs.profile.DefaultProfile; +import org.springframework.stereotype.Service; + +import java.util.Map; + +@Service +public class MsmServiceImpl implements MsmService{ + @Override + public boolean send(Map param, String phone) { + if(StringUtils.isEmpty(phone)) return false; + + //default 地域节点, 后面是 阿里云的 id和秘钥 + DefaultProfile profile = DefaultProfile.getProfile("default", "LTAI5t764kWdwYXDGYzDnRuJ", "iI2HiElIzbNiyGw1h4UdRE6Fw8159f"); + IAcsClient client = new DefaultAcsClient(profile); + + //这里不能修改 + CommonRequest request = new CommonRequest(); + //request.setProtocol(ProtocolType.HTTPS); +// request.setMethod(MethodType.POST); + request.setDomain("dysmsapi.aliyuncs.com"); + request.setVersion("2017-05-25"); + request.setAction("SendSms"); + + request.putQueryParameter("PhoneNumbers", phone); //手机号 + request.putQueryParameter("SignName", "北京码城科技"); //申请阿里云 签名名称(用的也是阿里云和模板配套的服务器配置好) + request.putQueryParameter("TemplateCode", "SMS_465342327"); //申请阿里云 模板code(用的也是阿里云和签名配套的服务器配置好) + request.putQueryParameter("TemplateParam", JSONObject.toJSONString(param)); + + try { + CommonResponse response = client.getCommonResponse(request); + System.out.println(response.getData()); + return response.getHttpResponse().isSuccess(); + } catch (Exception e) { + e.printStackTrace(); + } + return false; + } +} diff --git a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java index 932b91b..59408fb 100644 --- a/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java +++ b/jyjz-system/jyjz-system-oa/src/main/java/cn/jyjz/xiaoyao/ocr/controller/OcrAiApprovalTools.java @@ -6,16 +6,19 @@ import cn.jyjz.xiaoyao.common.base.vo.ResultVo; import cn.jyjz.xiaoyao.common.base.vo.ResultVoUtil; import cn.jyjz.xiaoyao.common.base.vo.UserToken; import cn.jyjz.xiaoyao.ocr.service.IOcrSearchHistoryService; +import cn.jyjz.xiaoyao.framework.security.sms.MsmService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; +import java.util.HashMap; import java.util.Map; /** * ocr控制器 * * @author 你的肉 + * AI审批工单 * @Date 2024-03-17 19:53:30 */ @CrossOrigin @@ -44,6 +47,9 @@ public class OcrAiApprovalTools { return ResultVoUtil.success(toolscount); } + /* + ai审批工单 + */ @RequestMapping(value = "/aiApprovaltools", method = RequestMethod.GET) public ResultVo aiApprovaltools(HttpServletRequest request,@RequestParam(value = "taskid", required = true) String taskid) { UserToken userToken = this.userTokenService.getUserToken(RequestBaseUtil.getToken(request));