|
@@ -5,9 +5,6 @@ import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.lang.Validator;
|
|
import cn.hutool.core.lang.Validator;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
-import cn.hutool.http.HttpRequest;
|
|
|
|
|
-import cn.hutool.http.HttpStatus;
|
|
|
|
|
-import cn.hutool.http.HttpUtil;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.cyksj.common.constant.Constant;
|
|
import com.cyksj.common.constant.Constant;
|
|
@@ -19,7 +16,6 @@ import com.cyksj.common.util.StringUtil;
|
|
|
import com.cyksj.common.util.TicketCodeCommonUtil;
|
|
import com.cyksj.common.util.TicketCodeCommonUtil;
|
|
|
import com.cyksj.enums.GatewayApiCode;
|
|
import com.cyksj.enums.GatewayApiCode;
|
|
|
import com.cyksj.mapper.*;
|
|
import com.cyksj.mapper.*;
|
|
|
-import com.cyksj.mapper.sys.SysEmailMapper;
|
|
|
|
|
import com.cyksj.model.entity.*;
|
|
import com.cyksj.model.entity.*;
|
|
|
import com.cyksj.model.request.TicketLoginReq;
|
|
import com.cyksj.model.request.TicketLoginReq;
|
|
|
import com.cyksj.model.views.*;
|
|
import com.cyksj.model.views.*;
|
|
@@ -27,6 +23,7 @@ import com.cyksj.redis.RedisService;
|
|
|
import com.cyksj.service.chatgpt.ChatGptAuthService;
|
|
import com.cyksj.service.chatgpt.ChatGptAuthService;
|
|
|
import com.cyksj.service.groups.GroupsFuncService;
|
|
import com.cyksj.service.groups.GroupsFuncService;
|
|
|
import com.cyksj.service.mail.CuiQiuMailService;
|
|
import com.cyksj.service.mail.CuiQiuMailService;
|
|
|
|
|
+import com.cyksj.service.mail.YhMailService;
|
|
|
import com.cyksj.service.mange.coupon.CouponCommonService;
|
|
import com.cyksj.service.mange.coupon.CouponCommonService;
|
|
|
import com.cyksj.service.relation.GroupRelationFrontService;
|
|
import com.cyksj.service.relation.GroupRelationFrontService;
|
|
|
import com.cyksj.service.relation.GroupsRelationNetflixService;
|
|
import com.cyksj.service.relation.GroupsRelationNetflixService;
|
|
@@ -43,7 +40,9 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
-import java.util.*;
|
|
|
|
|
|
|
+import java.util.Date;
|
|
|
|
|
+import java.util.List;
|
|
|
|
|
+import java.util.Optional;
|
|
|
|
|
|
|
|
import static com.cyksj.enums.GatewayApiCode.GROUP_INDEX_ALREADY_BE_USER;
|
|
import static com.cyksj.enums.GatewayApiCode.GROUP_INDEX_ALREADY_BE_USER;
|
|
|
import static com.cyksj.enums.GatewayApiCode.GROUP_INDEX_NOT_FIND;
|
|
import static com.cyksj.enums.GatewayApiCode.GROUP_INDEX_NOT_FIND;
|
|
@@ -74,8 +73,6 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
|
|
|
|
|
private final RedisService redisService;
|
|
private final RedisService redisService;
|
|
|
|
|
|
|
|
- private final SysEmailMapper sysEmailMapper;
|
|
|
|
|
-
|
|
|
|
|
private final CuiQiuMailService cuiQiuMailService;
|
|
private final CuiQiuMailService cuiQiuMailService;
|
|
|
|
|
|
|
|
private final GroupsRelationLoginCodeRecordMapper groupsRelationLoginCodeRecordMapper;
|
|
private final GroupsRelationLoginCodeRecordMapper groupsRelationLoginCodeRecordMapper;
|
|
@@ -100,6 +97,8 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
|
|
|
|
|
private static final GlobalThreadPoolTaskExecutor TASK_EXECUTOR = GlobalThreadPoolTaskExecutor.getInstance();
|
|
private static final GlobalThreadPoolTaskExecutor TASK_EXECUTOR = GlobalThreadPoolTaskExecutor.getInstance();
|
|
|
|
|
|
|
|
|
|
+ private final YhMailService yhMailService;
|
|
|
|
|
+
|
|
|
//脆球邮箱后缀
|
|
//脆球邮箱后缀
|
|
|
private final static String CUI_QIU_EMAIL_SUFFIX = "@kindvd.com";
|
|
private final static String CUI_QIU_EMAIL_SUFFIX = "@kindvd.com";
|
|
|
|
|
|
|
@@ -336,36 +335,27 @@ public class GroupRelationFrontServiceImpl implements GroupRelationFrontService
|
|
|
if (StrUtil.hasEmpty(account, password)) {
|
|
if (StrUtil.hasEmpty(account, password)) {
|
|
|
throw BusinessRuntimeException.getInstance(I18nMessageUtil.getI18nMsg("sys_error"));
|
|
throw BusinessRuntimeException.getInstance(I18nMessageUtil.getI18nMsg("sys_error"));
|
|
|
}
|
|
}
|
|
|
- if (renewalView.getAccount().contains(CUI_QIU_EMAIL_SUFFIX)) {
|
|
|
|
|
- return cuiQiuMailService.getVerifyCode(renewalView.getAccount(), renewalView.getGoodsId(), type, sync, loginReq.getLinkType());
|
|
|
|
|
- }
|
|
|
|
|
- //获取邮箱密码
|
|
|
|
|
- SysEmail sysEmail = sysEmailMapper.selectOne(Wrappers.lambdaQuery(SysEmail.class)
|
|
|
|
|
- .eq(SysEmail::getEmail, account)
|
|
|
|
|
- .last("limit 1"));
|
|
|
|
|
- if (sysEmail == null) {
|
|
|
|
|
- log.info("获取账号:{}验证码异常,未配置对应系统邮箱", account);
|
|
|
|
|
- throw BusinessRuntimeException.getInstance(I18nMessageUtil.getI18nMsg("obtain_code_error"));
|
|
|
|
|
|
|
+ if (renewalView.getGoodsId() == 1l) {
|
|
|
|
|
+ Integer linkType = loginReq.getLinkType();
|
|
|
|
|
+ if (type == null && linkType == null) {
|
|
|
|
|
+ throw BusinessRuntimeException.getInstance(I18nMessageUtil.getI18nMsg("sys_error"));
|
|
|
|
|
+ }
|
|
|
|
|
+ String key = RedisService.key.NF_UPGRAD_USER_LIMIT_KEY.getNameFormat(DateUtil.hour(DateTime.now(), true), linkType, renewalView.getUserId());
|
|
|
|
|
+ if (!redisService.hasKey(key)) {
|
|
|
|
|
+ redisService.set(key, 1l, RedisService.key.NF_UPGRAD_USER_LIMIT_KEY.getTimeout());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ Integer value = (Integer) redisService.get(key);
|
|
|
|
|
+ if (value >= 5) {
|
|
|
|
|
+ throw BusinessRuntimeException.getInstance(I18nMessageUtil.getI18nMsg("contact_customer_service_error"));
|
|
|
|
|
+ }
|
|
|
|
|
+ redisService.incr(key, 1L);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
- String url = "http://yinhelx.com/api/controller.php";
|
|
|
|
|
- Map<String, Object> params = new HashMap<>();
|
|
|
|
|
-
|
|
|
|
|
- params.put("imap_key", "imap_56568niua@@");
|
|
|
|
|
- params.put("fun", "imap_read");
|
|
|
|
|
- params.put("imap_ip", "yinhelx.com");
|
|
|
|
|
- params.put("port", "143");
|
|
|
|
|
- params.put("username", account);
|
|
|
|
|
- params.put("password", sysEmail.getPassword());
|
|
|
|
|
- params.put("mbox_id", "0");
|
|
|
|
|
- params.put("delete", "0");
|
|
|
|
|
-
|
|
|
|
|
- HttpRequest post = HttpUtil.createPost(url);
|
|
|
|
|
- post.form(params);
|
|
|
|
|
- cn.hutool.http.HttpResponse execute = post.execute();
|
|
|
|
|
- if (execute.getStatus() != HttpStatus.HTTP_OK) {
|
|
|
|
|
- throw BusinessRuntimeException.getInstance(I18nMessageUtil.getI18nMsg("obtain_code_error"));
|
|
|
|
|
|
|
+ if (cuiQiuMailService.isCuiQiuEmail(renewalView.getAccount())) {
|
|
|
|
|
+ return cuiQiuMailService.getVerifyCode(renewalView.getAccount(), renewalView.getGoodsId(), type, loginReq.getLinkType());
|
|
|
}
|
|
}
|
|
|
- String code = getDifferentGoodsCode(renewalView.getGoodsId(), execute.body(), type, sync, loginReq.getLinkType());
|
|
|
|
|
|
|
+ //银河域名邮件
|
|
|
|
|
+ String code = yhMailService.getVerifyCode(account, renewalView.getGoodsId(), type, loginReq.getLinkType());
|
|
|
GroupsRelationLoginCodeRecord record = new GroupsRelationLoginCodeRecord();
|
|
GroupsRelationLoginCodeRecord record = new GroupsRelationLoginCodeRecord();
|
|
|
record.setUserId(userId);
|
|
record.setUserId(userId);
|
|
|
record.setRelationId(relationId);
|
|
record.setRelationId(relationId);
|