fix bug ,国际电话区号, 连接池释放配置
This commit is contained in:
parent
48aa92e2b8
commit
79cd942d3a
@ -7,6 +7,7 @@ import com.suisung.mall.account.service.AccountUserBaseService;
|
||||
import com.suisung.mall.account.service.AccountUserInfoService;
|
||||
import com.suisung.mall.common.api.CommonResult;
|
||||
import com.suisung.mall.common.constant.AuthConstant;
|
||||
import com.suisung.mall.common.constant.CommonConstant;
|
||||
import com.suisung.mall.common.constant.RedisConstant;
|
||||
import com.suisung.mall.common.service.impl.BaseControllerImpl;
|
||||
import com.suisung.mall.common.utils.I18nUtil;
|
||||
@ -70,7 +71,7 @@ public class LoginController extends BaseControllerImpl {
|
||||
|
||||
//user_account判断是否手机号
|
||||
if (result.getStatus() != 200 && Validator.isNumber(user_account)) {
|
||||
user_account = "+86" + user_account;
|
||||
user_account = CommonConstant.IDD_ZH_CN + user_account;
|
||||
if (PhoneNumberUtils.isValidNumber(user_account)) {
|
||||
//尝试手机号绑定登录
|
||||
result = accountUserBaseService.doMobileBindLogin(user_account, user_password);
|
||||
@ -101,7 +102,7 @@ public class LoginController extends BaseControllerImpl {
|
||||
|
||||
//user_account判断是否手机号
|
||||
if (result.getStatus() != 200 && Validator.isNumber(user_account)) {
|
||||
user_account = "+86" + user_account;
|
||||
user_account = CommonConstant.IDD_ZH_CN + user_account;
|
||||
if (PhoneNumberUtils.isValidNumber(user_account)) {
|
||||
//尝试手机号绑定登录
|
||||
result = accountUserBaseService.doMobileBindLogin(user_account, user_password);
|
||||
|
||||
@ -10,6 +10,7 @@ import com.suisung.mall.account.service.AccountUserBaseService;
|
||||
import com.suisung.mall.account.service.AccountUserLoginService;
|
||||
import com.suisung.mall.common.api.CommonResult;
|
||||
import com.suisung.mall.common.constant.AuthConstant;
|
||||
import com.suisung.mall.common.constant.CommonConstant;
|
||||
import com.suisung.mall.common.constant.RedisConstant;
|
||||
import com.suisung.mall.common.domain.UserDto;
|
||||
import com.suisung.mall.common.exception.ApiUserException;
|
||||
@ -147,7 +148,7 @@ public class AccountUserBaseController extends BaseControllerImpl {
|
||||
|
||||
//user_account判断是否手机号
|
||||
if (result.getStatus() != 200 && Validator.isNumber(user_account)) {
|
||||
user_account = "+86" + user_account;
|
||||
user_account = CommonConstant.IDD_ZH_CN + user_account;
|
||||
if (PhoneNumberUtils.isValidNumber(user_account)) {
|
||||
//尝试手机号绑定登录
|
||||
result = accountUserBaseService.doMobileBindLogin(user_account, user_password);
|
||||
|
||||
@ -10,6 +10,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.suisung.mall.account.service.*;
|
||||
import com.suisung.mall.common.api.CommonResult;
|
||||
import com.suisung.mall.common.api.ResultCode;
|
||||
import com.suisung.mall.common.constant.CommonConstant;
|
||||
import com.suisung.mall.common.domain.UserDto;
|
||||
import com.suisung.mall.common.exception.ApiException;
|
||||
import com.suisung.mall.common.feignService.PayService;
|
||||
@ -272,9 +273,18 @@ public class UserController extends BaseControllerImpl {
|
||||
@RequestMapping(value = "/verifyCode", method = RequestMethod.GET)
|
||||
public CommonResult getVerifyCode(@RequestParam(name = "mobile", required = false) String mobile,
|
||||
@RequestParam(name = "email", required = false) String email) {
|
||||
if (StrUtil.isNotBlank(mobile) && !PhoneNumberUtils.isValidNumber(mobile)) {
|
||||
throw new ApiException(I18nUtil._("请输入正确的手机号!"));
|
||||
|
||||
// 2024-12-12 update
|
||||
if(StrUtil.isNotBlank(mobile)) {
|
||||
if(!StrUtil.startWith(mobile, CommonConstant.IDD_ZH_CN)) {
|
||||
mobile = CommonConstant.IDD_ZH_CN + mobile;
|
||||
}
|
||||
|
||||
if(!PhoneNumberUtils.isValidNumber(mobile)){
|
||||
throw new ApiException(I18nUtil._("请输入正确的手机号!"));
|
||||
}
|
||||
}
|
||||
|
||||
else if (StrUtil.isNotBlank(email) && !CheckUtil.isEmail(email)) {
|
||||
throw new ApiException(I18nUtil._("请输入正确邮箱格式!"));
|
||||
}
|
||||
|
||||
@ -29,10 +29,7 @@ import com.suisung.mall.common.api.BindCode;
|
||||
import com.suisung.mall.common.api.CommonResult;
|
||||
import com.suisung.mall.common.api.PointsType;
|
||||
import com.suisung.mall.common.api.ResultCode;
|
||||
import com.suisung.mall.common.constant.AuthConstant;
|
||||
import com.suisung.mall.common.constant.ConfigConstant;
|
||||
import com.suisung.mall.common.constant.RedisConstant;
|
||||
import com.suisung.mall.common.constant.SignConstant;
|
||||
import com.suisung.mall.common.constant.*;
|
||||
import com.suisung.mall.common.domain.RoleIdEnum;
|
||||
import com.suisung.mall.common.domain.TokenDto;
|
||||
import com.suisung.mall.common.domain.UserDto;
|
||||
@ -2079,7 +2076,7 @@ public class AccountUserBaseServiceImpl extends BaseServiceImpl<AccountUserBaseM
|
||||
}
|
||||
|
||||
//google类库解析为intl + mobile 获取信息
|
||||
String user_intl = getParameter("user_intl", "+86");
|
||||
String user_intl = getParameter("user_intl", CommonConstant.IDD_ZH_CN);
|
||||
String mobile = StrUtil.replace(bind_id, user_intl, "");
|
||||
|
||||
bind_id = user_intl + mobile;
|
||||
@ -2253,7 +2250,7 @@ public class AccountUserBaseServiceImpl extends BaseServiceImpl<AccountUserBaseM
|
||||
//读取sms配置信息
|
||||
String service_user_id = accountBaseConfigService.getConfig("service_user_id");
|
||||
String service_app_key = accountBaseConfigService.getConfig("service_app_key");
|
||||
number = StrUtil.removePrefix(number, "+86");
|
||||
number = StrUtil.removePrefix(number, CommonConstant.IDD_ZH_CN);
|
||||
|
||||
|
||||
SmsDto smsDto = new SmsDto();
|
||||
@ -2340,7 +2337,7 @@ public class AccountUserBaseServiceImpl extends BaseServiceImpl<AccountUserBaseM
|
||||
|
||||
// todo 优化国际手机号截取
|
||||
if (PhoneUtil.isMobile(number)) {
|
||||
number = StrUtil.removePrefix(number, "+86");
|
||||
number = StrUtil.removePrefix(number, CommonConstant.IDD_ZH_CN);
|
||||
//读取sms配置信息
|
||||
String service_user_id = accountBaseConfigService.getConfig("service_user_id");
|
||||
String service_app_key = accountBaseConfigService.getConfig("service_app_key");
|
||||
|
||||
@ -9,6 +9,7 @@ import com.suisung.mall.account.service.AccountUserBaseService;
|
||||
import com.suisung.mall.account.service.AccountUserBindConnectService;
|
||||
import com.suisung.mall.account.service.AccountUserInfoService;
|
||||
import com.suisung.mall.common.api.ResultCode;
|
||||
import com.suisung.mall.common.constant.CommonConstant;
|
||||
import com.suisung.mall.common.exception.ApiException;
|
||||
import com.suisung.mall.common.modules.account.AccountUserBase;
|
||||
import com.suisung.mall.common.modules.account.AccountUserBindConnect;
|
||||
@ -133,7 +134,7 @@ public class AccountUserBindConnectServiceImpl extends BaseServiceImpl<AccountUs
|
||||
AccountUserInfo userInfo = new AccountUserInfo();
|
||||
switch (bind_type) {
|
||||
case 1:
|
||||
String user_intl = ObjectUtil.defaultIfNull(getParameter("user_intl"), "+86");
|
||||
String user_intl = ObjectUtil.defaultIfNull(getParameter("user_intl"), CommonConstant.IDD_ZH_CN);
|
||||
String sub_user_intl = bind_id.substring(0, user_intl.length());
|
||||
if (StrUtil.equals(user_intl, sub_user_intl)) {
|
||||
userInfo.setUser_mobile(StrUtil.removePrefix(bind_id, sub_user_intl));
|
||||
|
||||
@ -25,6 +25,8 @@ spring:
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 10
|
||||
aop-patterns: com.suisung.mall.common.service.impl.*,com.suisung.mall.core.web.service.impl.*,com.suisung.mall.account.*
|
||||
remove-abandoned: true
|
||||
remove-abandoned-timeout: 1800
|
||||
redis:
|
||||
host: @redis.host@ # Redis服务器地址
|
||||
database: @redis.database@ # Redis数据库索引(默认为0)
|
||||
|
||||
@ -29,6 +29,8 @@ spring:
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 10
|
||||
aop-patterns: com.suisung.mall.common.service.impl.*,com.suisung.mall.core.web.service.impl.*,com.suisung.mall.admin.*
|
||||
remove-abandoned: true
|
||||
remove-abandoned-timeout: 1800
|
||||
redis:
|
||||
# host: 127.0.0.1 # Redis服务器地址
|
||||
host: @redis.host@ # Redis服务器地址
|
||||
|
||||
@ -25,6 +25,8 @@ spring:
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 10
|
||||
aop-patterns: com.suisung.mall.common.service.impl.*,com.suisung.mall.core.web.service.impl.*,com.suisung.mall.cms.*
|
||||
remove-abandoned: true
|
||||
remove-abandoned-timeout: 1800
|
||||
redis:
|
||||
host: @redis.host@ # Redis服务器地址
|
||||
database: @redis.database@ # Redis数据库索引(默认为0)
|
||||
|
||||
@ -19,6 +19,9 @@ public class CommonConstant {
|
||||
public static final Integer Delivery_Amount_Comput_Type_Discounted = 2;
|
||||
public static final Integer Delivery_Amount_Comput_Type_Payment = 3;
|
||||
|
||||
// 国际电话区号
|
||||
public static final String IDD_ZH_CN = "+86"; //中国
|
||||
|
||||
// 店铺角色权限组
|
||||
public static final String STORE_RIGHT_GROUP_ADMIN = "店铺管理员"; // 店铺管理员;
|
||||
public static final String STORE_RIGHT_GROUP_YYJL = "运营经理"; // 店铺管理员;
|
||||
|
||||
@ -48,12 +48,12 @@ public class AliServiceImpl implements ThirdService {
|
||||
request.setTemplateParam(JSONUtil.toJsonStr(paramMap)); // json 格式
|
||||
}
|
||||
|
||||
logger.info("阿里云短信发送请求的参数:{}", JSONUtil.toJsonStr(smsDto));
|
||||
logger.info("阿里云短信发送请求的参数(通用模版):{}", JSONUtil.toJsonStr(smsDto));
|
||||
|
||||
// 获取发送结果
|
||||
try {
|
||||
SendSmsResponse response = client.getAcsResponse(request);
|
||||
logger.info("阿里云短信发送返回结果:{}", response);
|
||||
logger.info("阿里云短信发送返回结果(通用模版):{}", response);
|
||||
if (!response.getCode().equals("OK")) {
|
||||
String errMsg = response.getMessage();
|
||||
LogUtil.error(ErrorTypeEnum.ERR_ALI_SERVICE.getValue(), errMsg);
|
||||
|
||||
@ -168,7 +168,7 @@ public class PhoneNumberUtils {
|
||||
}
|
||||
|
||||
/**
|
||||
* 判定手机号是否可用
|
||||
* 判定手机号(带区号的号码)是否可用
|
||||
*
|
||||
* @param phoneNumber 带区号的号码,如:
|
||||
* +8613111111111(中国)
|
||||
|
||||
@ -25,6 +25,8 @@ spring:
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 10
|
||||
aop-patterns: com.suisung.mall.common.service.impl.*,com.suisung.mall.core.web.service.impl.*,com.suisung.mall.im.*
|
||||
remove-abandoned: true
|
||||
remove-abandoned-timeout: 1800
|
||||
redis:
|
||||
host: @redis.host@ # Redis服务器地址
|
||||
database: @redis.database@ # Redis数据库索引(默认为0)
|
||||
|
||||
@ -25,6 +25,8 @@ spring:
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 10
|
||||
aop-patterns: com.suisung.mall.common.service.impl.*,com.suisung.mall.core.web.service.impl.*,com.suisung.mall.pay.*
|
||||
remove-abandoned: true
|
||||
remove-abandoned-timeout: 1800
|
||||
redis:
|
||||
host: @redis.host@ # Redis服务器地址
|
||||
database: @redis.database@ # Redis数据库索引(默认为0)
|
||||
|
||||
@ -25,6 +25,8 @@ spring:
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 10
|
||||
aop-patterns: com.suisung.mall.common.service.impl.*,com.suisung.mall.core.web.service.impl.*,com.suisung.mall.search.*
|
||||
remove-abandoned: true
|
||||
remove-abandoned-timeout: 1800
|
||||
data:
|
||||
elasticsearch:
|
||||
repositories:
|
||||
|
||||
@ -3,6 +3,7 @@ package com.suisung.mall.shop.message.service.impl;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.json.JSONObject;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
@ -15,6 +16,7 @@ import com.aliyuncs.exceptions.ClientException;
|
||||
import com.aliyuncs.profile.DefaultProfile;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.suisung.mall.common.api.BindCode;
|
||||
import com.suisung.mall.common.constant.CommonConstant;
|
||||
import com.suisung.mall.common.exception.ApiException;
|
||||
import com.suisung.mall.common.feignService.AccountService;
|
||||
import com.suisung.mall.common.feignService.SnsService;
|
||||
@ -271,7 +273,7 @@ public class ShopMessageTemplateServiceImpl extends BaseServiceImpl<ShopMessageT
|
||||
// String message_sms = dealMessageTemplate(message_row.getMessage_sms(), args);
|
||||
|
||||
//str = '您[chain_name]的商品库存不足,请及时补货。SPU:[product_id],SKU:[item_id],可去店铺查看详情。';
|
||||
mobile = StrUtil.removePrefix(mobile, "+86");
|
||||
mobile = StrUtil.removePrefix(mobile, CommonConstant.IDD_ZH_CN);
|
||||
String service_user_id = accountBaseConfigService.getConfig("service_user_id");
|
||||
String service_app_key = accountBaseConfigService.getConfig("service_app_key");
|
||||
SmsDto smsDto = new SmsDto();
|
||||
@ -280,7 +282,7 @@ public class ShopMessageTemplateServiceImpl extends BaseServiceImpl<ShopMessageT
|
||||
smsDto.setServiceUserId(service_user_id);
|
||||
smsDto.setServiceAppKey(service_app_key);
|
||||
|
||||
//其它通道,要赋值通道信息 appid 以及 key
|
||||
//阿里云短信通道,要赋值通道信息 appid 以及 key
|
||||
String aliyunSmsAccessKeyId = accountBaseConfigService.getConfig("aliyun_sms_access_key_id");
|
||||
String aliyunSmsAccessKeySecret = accountBaseConfigService.getConfig("aliyun_sms_access_key_secret");
|
||||
String aliyunSmsRegionId = accountBaseConfigService.getConfig("aliyun_sms_region_id");
|
||||
@ -291,12 +293,12 @@ public class ShopMessageTemplateServiceImpl extends BaseServiceImpl<ShopMessageT
|
||||
smsDto.setAliyunSmsRegionId(aliyunSmsRegionId);
|
||||
smsDto.setSmsSign(aliyunSmsSign);
|
||||
|
||||
// 华为短信通道
|
||||
String huaweiSmsKey = accountBaseConfigService.getConfig("huawei_sms_access_key");
|
||||
String huaweiSmsKeySecret = accountBaseConfigService.getConfig("huawei_sms_access_secret");
|
||||
smsDto.setHuaweiSmsKey(huaweiSmsKey);
|
||||
smsDto.setHuaweiSmsKeySecret(huaweiSmsKeySecret);
|
||||
|
||||
|
||||
// 短信应用SDK AppID 1400开头
|
||||
Integer tengxunAppId = accountBaseConfigService.getConfig("tengxun_sms_app_id", 0);
|
||||
// 短信应用SDK AppKey
|
||||
@ -304,18 +306,17 @@ public class ShopMessageTemplateServiceImpl extends BaseServiceImpl<ShopMessageT
|
||||
smsDto.setTengxunAppId(tengxunAppId);
|
||||
smsDto.setTengxunAppkey(tengxunAppkey);
|
||||
|
||||
|
||||
smsDto.setMobile(mobile);
|
||||
smsDto.setTemplateCode(message_row.getMessage_tpl_id());
|
||||
smsDto.setTemplateCode(message_row.getMessage_tpl_id()); // 重要:比如阿里云、腾讯云的短信模版code id,比如阿里云:SMS_475836097
|
||||
smsDto.setContent(message_row.getMessage_sms());
|
||||
smsDto.setParamMap(args); //传入模板对应参数
|
||||
|
||||
smsDto.setTengxunTemplateId(Convert.toInt(message_row.getMessage_tpl_id()));
|
||||
smsDto.setTengxunTemplateId(NumberUtil.parseInt(message_row.getMessage_tpl_id(),0));
|
||||
|
||||
try {
|
||||
ThirdUtil.send(smsDto);
|
||||
|
||||
log.debug("消息发送的数据:{}", smsDto);
|
||||
log.debug("消息发送的数据(通用):{}", smsDto);
|
||||
} catch (Exception e) {
|
||||
LogUtil.error(ErrorTypeEnum.ERR_PSUH_MSG.getValue(), e);
|
||||
}
|
||||
@ -635,6 +636,8 @@ public class ShopMessageTemplateServiceImpl extends BaseServiceImpl<ShopMessageT
|
||||
return false;
|
||||
}
|
||||
|
||||
log.debug("给手机{}发送短信{}成功", mobile, tmplCode);
|
||||
|
||||
return true;
|
||||
} catch (ClientException e) {
|
||||
LogUtil.error(ErrorTypeEnum.ERR_ALI_SERVICE.getValue(), e);
|
||||
|
||||
@ -3075,8 +3075,8 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl<ShopOrderBaseMappe
|
||||
Map<String, Object> tmplArgs = new HashMap<>(2);
|
||||
tmplArgs.put("order_id", order_id);
|
||||
tmplArgs.put("order_payment_amount", order_payment_amount);
|
||||
// 所有店铺管理员的发送邮件, 提醒商家:您收到一笔${order_payment_amount}元新订单${order_id}付款,请及时处理!
|
||||
shopMessageTemplateService.aliyunSmsSend(shopKeeperMobiles, "SMS_475831067", tmplArgs);//SMS_475945807
|
||||
// 所有店铺管理员的发送邮件, 提醒商家:您有一笔新的订单 ${order_id},请及时处理。
|
||||
shopMessageTemplateService.aliyunSmsSend(shopKeeperMobiles, "SMS_475836097", tmplArgs);//SMS_475945807
|
||||
}
|
||||
|
||||
// 付款成功,对通知推广员进行提醒
|
||||
|
||||
@ -2,6 +2,7 @@ package com.suisung.mall.shop.store.controller.admin;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.suisung.mall.common.api.CommonResult;
|
||||
import com.suisung.mall.common.constant.CommonConstant;
|
||||
import com.suisung.mall.common.modules.store.ShopStoreEmployee;
|
||||
import com.suisung.mall.shop.store.service.ShopStoreEmployeeService;
|
||||
import io.swagger.annotations.Api;
|
||||
@ -74,6 +75,8 @@ public class ShopStoreEmployeeController {
|
||||
userInfo.put("user_account", user_account);
|
||||
userInfo.put("user_password", user_password);
|
||||
userInfo.put("user_nickname", user_nickname);
|
||||
// 2024-12-12 update
|
||||
userInfo.put("user_intl", CommonConstant.IDD_ZH_CN);
|
||||
if (user_gender != null) {
|
||||
userInfo.put("user_gender", user_gender);
|
||||
}
|
||||
|
||||
@ -148,6 +148,7 @@ public class ShopStoreEmployeeServiceImpl extends BaseServiceImpl<ShopStoreEmplo
|
||||
UserDto user = getCurrentUser();
|
||||
Integer store_id = Convert.toInt(user.getStore_id());
|
||||
Integer employee_id = shopStoreEmployee.getEmployee_id();
|
||||
|
||||
if (user.isStore() && employee_id == null) {
|
||||
userInfo.put("auto_login", false);
|
||||
userInfo.put("rights_group_id", 1);
|
||||
|
||||
@ -31,6 +31,8 @@ spring:
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 10
|
||||
aop-patterns: com.suisung.mall.common.service.impl.*,com.suisung.mall.core.web.service.impl.*,com.suisung.mall.shop.*
|
||||
remove-abandoned: true
|
||||
remove-abandoned-timeout: 1800
|
||||
redis:
|
||||
host: @redis.host@ # Redis服务器地址
|
||||
database: @redis.database@ # Redis数据库索引(默认为0)
|
||||
|
||||
@ -25,6 +25,8 @@ spring:
|
||||
log-slow-sql: true
|
||||
slow-sql-millis: 10
|
||||
aop-patterns: com.suisung.mall.common.service.impl.*,com.suisung.mall.core.web.service.impl.*,com.suisung.mall.sns.*
|
||||
remove-abandoned: true
|
||||
remove-abandoned-timeout: 1800
|
||||
redis:
|
||||
host: @redis.host@ # Redis服务器地址
|
||||
database: @redis.database@ # Redis数据库索引(默认为0)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user