|
@@ -7,6 +7,7 @@ import com.bohuikeji.delivery.backstage.entity.TOrder;
|
7
|
7
|
import com.bohuikeji.delivery.backstage.service.IGmsService;
|
8
|
8
|
import com.bohuikeji.delivery.backstage.service.ITCustomerService;
|
9
|
9
|
import com.bohuikeji.delivery.backstage.service.ITOrderService;
|
|
10
|
+import com.bohuikeji.delivery.backstage.service.ITWarehouseService;
|
10
|
11
|
import com.bohuikeji.frame.module.admin.component.RedisUtil;
|
11
|
12
|
import com.bohuikeji.frame.module.admin.utils.*;
|
12
|
13
|
import lombok.RequiredArgsConstructor;
|
|
@@ -31,19 +32,39 @@ public class GmsServiceImpl implements IGmsService {
|
31
|
32
|
final RedisUtil redisUtil;
|
32
|
33
|
final ITCustomerService customerService;
|
33
|
34
|
final ITOrderService orderService;
|
|
35
|
+ final ITWarehouseService warehouseService;
|
34
|
36
|
@Override
|
35
|
37
|
public String sendCode(String phone, HttpServletRequest request) {
|
36
|
38
|
JSONObject jsonObject = new JSONObject();
|
37
|
39
|
String code=NumberUtils.getRandom(6);
|
38
|
40
|
log.error("短信验证码发送失败:ip:{},手机号:{}",IpUtil.getIpAddr(request),phone);
|
|
41
|
+ //根据ip查询
|
39
|
42
|
JSONObject ips= (JSONObject) redisUtil.get("gms:ip:times:"+IpUtil.getIpAddr(request));
|
40
|
43
|
log.error("短信验证码缓存信息:JSONObject:{}",ips);
|
41
|
44
|
if(ips != null){
|
42
|
|
- int count=Integer.parseInt(ips.toString());
|
|
45
|
+ ips.put("times",ips.getInteger("times")+1);
|
|
46
|
+ log.error("短信验证码发送次数:次数:{}",ips.put("times",ips.getInteger("times")+1));
|
|
47
|
+ if(ips.getInteger("times")-1>10){
|
|
48
|
+ ips.put("timing",3);
|
|
49
|
+ redisUtil.set("gms:ip:times:"+IpUtil.getIpAddr(request),ips,Duration.ofDays(3).getSeconds());
|
|
50
|
+ return ips.getString("keys");
|
|
51
|
+ }
|
|
52
|
+ if(ips.getInteger("times")-1>3){
|
|
53
|
+ ips.put("timing",24);
|
|
54
|
+ redisUtil.set("gms:ip:times:"+IpUtil.getIpAddr(request),ips,Duration.ofHours(24).getSeconds());
|
|
55
|
+ return ips.getString("keys");
|
|
56
|
+ }
|
|
57
|
+ redisUtil.set("gms:ip:times:"+IpUtil.getIpAddr(request),ips,Duration.ofMinutes(10).getSeconds());
|
|
58
|
+ return ips.getString("keys");
|
43
|
59
|
}
|
|
60
|
+ //第一次发送验证码
|
44
|
61
|
jsonObject.put("keys",code);
|
45
|
62
|
jsonObject.put("times",1);
|
46
|
|
- redisUtil.set("gms:ip:times:"+IpUtil.getIpAddr(request),jsonObject,Duration.ofMinutes(3).getSeconds());
|
|
63
|
+ jsonObject.put("timing",10);
|
|
64
|
+ redisUtil.set("gms:ip:times:"+IpUtil.getIpAddr(request),jsonObject,Duration.ofMinutes(10).getSeconds());
|
|
65
|
+ redisUtil.set("gms:code:txt:"+phone,code,Duration.ofMinutes(10).getSeconds());
|
|
66
|
+ //没有发送记录,正常发送
|
|
67
|
+ YiXunGmsUtils.sendMsg(phone,"SMS_184115918","code", code);
|
47
|
68
|
return code;
|
48
|
69
|
/*Object times=redisUtil.get("gms:code:times:"+phone);
|
49
|
70
|
String code=NumberUtils.getRandom(6);
|