| | |
| | | package com.zy.crm.manager.service.impl; |
| | | |
| | | import com.core.common.R; |
| | | import com.core.common.Cools; |
| | | import com.zy.crm.common.entity.PhoneCodeTypeParam; |
| | | import com.zy.crm.manager.mapper.SmsCodeMapper; |
| | | import com.zy.crm.manager.entity.SmsCode; |
| | | import com.zy.crm.manager.service.SmsCodeService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.zy.crm.manager.utils.SmsUtils; |
| | | import com.zy.crm.system.entity.Config; |
| | | import com.zy.crm.system.service.ConfigService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Date; |
| | | |
| | | @Service("smsCodeService") |
| | | public class SmsCodeServiceImpl extends ServiceImpl<SmsCodeMapper, SmsCode> implements SmsCodeService { |
| | | |
| | | @Autowired |
| | | private ConfigService configService; |
| | | |
| | | @Override |
| | | public SmsCode selectByPhone(String phone) { |
| | |
| | | return true; |
| | | } |
| | | |
| | | // @Override |
| | | // public boolean sendSmsCodeText(String phone) { |
| | | // String randomNum = "分配了新的规划申请单任务!" ;//获取六位随机数 |
| | | // SmsCode smsCode = new SmsCode(); |
| | | // smsCode.setPhone(phone); |
| | | // smsCode.setCode(randomNum); |
| | | // smsCode.setStatus(0); |
| | | // smsCode.setCreateTime(new Date()); |
| | | // if (this.baseMapper.insert(smsCode) <= 0) { |
| | | // return false; |
| | | // } |
| | | // |
| | | // boolean sendSmsCode = SmsUtils.sendSmsCodeText(phone, ""); |
| | | // if (!sendSmsCode) { |
| | | // return false; |
| | | // } |
| | | // |
| | | // smsCode.setSendTime(new Date()); |
| | | // smsCode.setStatus(1); |
| | | // this.baseMapper.updateById(smsCode); |
| | | // return true; |
| | | // } |
| | | |
| | | @Override |
| | | public boolean sendSmsCodeText(String phone, PhoneCodeTypeParam param,Long userId) { |
| | | Config config = configService.selectConfigByCode("SMSNotification"); |
| | | if (Cools.isEmpty(config) || !config.getValue().equals("true")) { |
| | | return true; |
| | | } |
| | | String randomNum = param.code; |
| | | SmsCode smsCode = new SmsCode(); |
| | | smsCode.setPhone(phone); |
| | | smsCode.setCode(randomNum); |
| | | smsCode.setStatus(0); |
| | | smsCode.setCreateTime(new Date()); |
| | | smsCode.setUserId(userId); |
| | | if (this.baseMapper.insert(smsCode) <= 0) { |
| | | return false; |
| | | } |
| | | |
| | | boolean sendSmsCode = SmsUtils.sendSmsCodeText(phone, param); |
| | | if (!sendSmsCode) { |
| | | return false; |
| | | } |
| | | |
| | | smsCode.setSendTime(new Date()); |
| | | smsCode.setStatus(1); |
| | | this.baseMapper.updateById(smsCode); |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public boolean verifySmsCode(String phone, String code) { |
| | | SmsCode smsCode1 = this.baseMapper.selectByPhone(phone); |
| | |
| | | return false; |
| | | } |
| | | |
| | | if (!smsCode1.getCode().equals(code)) { |
| | | return false; |
| | | } |
| | | |
| | | long createTime = smsCode1.getCreateTime().getTime(); |
| | | long nowTime = new Date().getTime(); |
| | | long diff = nowTime - createTime; |
| | | if (diff > (60000 * 5)) {//短信时间超过五分钟,已失效 |
| | | if (diff > (60000 * 10)) {//短信时间超过十分钟,已失效 |
| | | return false; |
| | | } |
| | | |