From f34ee35d9119958129d6336268c29333e0732169 Mon Sep 17 00:00:00 2001 From: Xusan <1105644308@QQ.COM> Date: Tue, 21 May 2024 13:59:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AA=8C=E8=AF=81=E7=A0=81=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/whdc/controller/UserController.java | 2 +- .../java/com/whdc/model/entity/LoginInfo.java | 21 ++++--- src/main/java/com/whdc/model/entity/User.java | 21 ++++--- .../java/com/whdc/model/entity/Versions.java | 2 + .../whdc/service/impl/UserServiceImpl.java | 59 +++++++++++-------- 5 files changed, 65 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/whdc/controller/UserController.java b/src/main/java/com/whdc/controller/UserController.java index cacb0fa..d042b8e 100644 --- a/src/main/java/com/whdc/controller/UserController.java +++ b/src/main/java/com/whdc/controller/UserController.java @@ -185,7 +185,7 @@ public class UserController { @GetMapping(value = "loginByCode/{phone}/{code}") public ResultJson loginByCode(@PathVariable("phone") String phone,@PathVariable("code") String code) { - return ResultJson.ok(service.loginByCode(phone,code)); + return ResultJson.ok(service.loginByCode(phone,code.toUpperCase())); } diff --git a/src/main/java/com/whdc/model/entity/LoginInfo.java b/src/main/java/com/whdc/model/entity/LoginInfo.java index 2e7d6d0..80bf2e9 100644 --- a/src/main/java/com/whdc/model/entity/LoginInfo.java +++ b/src/main/java/com/whdc/model/entity/LoginInfo.java @@ -1,16 +1,22 @@ package com.whdc.model.entity; -import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode;import lombok.experimental.Accessors; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; import com.whdc.model.group.Insert; import com.whdc.model.group.Update; + import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull;import java.io.Serializable; +import javax.validation.constraints.NotNull; +import java.io.Serializable; import java.util.Date; import java.math.BigDecimal; import java.util.Date; @@ -28,9 +34,9 @@ import java.util.Date; public class LoginInfo extends Model implements Serializable { private static final long serialVersionUID = 1L; - @TableId(value = "ID",type = IdType.AUTO) + @TableId(value = "ID", type = IdType.AUTO) @ApiModelProperty(value = "id") - @NotNull(message = "id不能为空" , groups = {Update.class}) + @NotNull(message = "id不能为空", groups = {Update.class}) private Integer id; @@ -40,14 +46,15 @@ public class LoginInfo extends Model implements Serializable { @TableField("CREATE_ID") @ApiModelProperty(value = "新增人id") - @NotNull(message = "id不能为空" , groups = {Insert.class}) + @NotNull(message = "id不能为空", groups = {Insert.class}) private String createId; @TableField("CREATE_TIME") @ApiModelProperty(value = "新增时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; - @NotEmpty(message = "0:密码登录 1:验证码登录不能为空", groups = {Insert.class,Update.class}) + @NotEmpty(message = "0:密码登录 1:验证码登录不能为空", groups = {Insert.class, Update.class}) @TableField("TYPE") @ApiModelProperty(value = "0:密码登录 1:验证码登录") private String type; diff --git a/src/main/java/com/whdc/model/entity/User.java b/src/main/java/com/whdc/model/entity/User.java index 9aed405..1d475f8 100644 --- a/src/main/java/com/whdc/model/entity/User.java +++ b/src/main/java/com/whdc/model/entity/User.java @@ -1,16 +1,22 @@ package com.whdc.model.entity; -import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.EqualsAndHashCode;import lombok.experimental.Accessors; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; import com.whdc.model.group.Insert; import com.whdc.model.group.Update; + import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull;import java.io.Serializable; +import javax.validation.constraints.NotNull; +import java.io.Serializable; import java.util.Date; import java.math.BigDecimal; import java.util.Date; @@ -28,18 +34,18 @@ import java.util.Date; public class User extends Model implements Serializable { private static final long serialVersionUID = 1L; - @TableId(value = "ID",type = IdType.AUTO) + @TableId(value = "ID", type = IdType.AUTO) @ApiModelProperty(value = "id") // @NotNull(message = "id不能为空" , groups = {Update.class}) private Integer id; - @NotEmpty(message = "用户名不能为空", groups = {Insert.class,Update.class}) + @NotEmpty(message = "用户名不能为空", groups = {Insert.class, Update.class}) @TableField("USERNAME") @ApiModelProperty(value = "用户名") private String username; - @NotEmpty(message = "密码不能为空", groups = {Insert.class,Update.class}) + @NotEmpty(message = "密码不能为空", groups = {Insert.class, Update.class}) @TableField("PASSWORD") @ApiModelProperty(value = "密码") private String password; @@ -50,11 +56,12 @@ public class User extends Model implements Serializable { @TableField("AB_ID") @ApiModelProperty(value = "通讯录id") - @NotEmpty(message = "通讯录id不能为空", groups = {Insert.class,Update.class}) + @NotEmpty(message = "通讯录id不能为空", groups = {Insert.class, Update.class}) private Integer abId; @TableField("LAST_DATE") @ApiModelProperty(value = "最后登录时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date lastLoginDate; @TableField("ROLE") diff --git a/src/main/java/com/whdc/model/entity/Versions.java b/src/main/java/com/whdc/model/entity/Versions.java index 26b4fe2..2ceaaf2 100644 --- a/src/main/java/com/whdc/model/entity/Versions.java +++ b/src/main/java/com/whdc/model/entity/Versions.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; +import com.fasterxml.jackson.annotation.JsonFormat; import com.whdc.model.group.Insert; import com.whdc.model.group.Update; import io.swagger.annotations.ApiModel; @@ -59,6 +60,7 @@ public class Versions extends Model implements Serializable { @TableField("CREATE_TIME") @ApiModelProperty(value = "新增时间") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createTime; @TableField("TYPE") diff --git a/src/main/java/com/whdc/service/impl/UserServiceImpl.java b/src/main/java/com/whdc/service/impl/UserServiceImpl.java index 9b26a63..a899e65 100644 --- a/src/main/java/com/whdc/service/impl/UserServiceImpl.java +++ b/src/main/java/com/whdc/service/impl/UserServiceImpl.java @@ -1,5 +1,7 @@ package com.whdc.service.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -19,6 +21,7 @@ import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import com.whdc.utils.ResultJson; import lombok.extern.slf4j.Slf4j; +import org.apache.http.HttpStatus; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; @@ -150,9 +153,9 @@ public class UserServiceImpl extends ServiceImpl implements IU // 判断是否以发送 String key = REDIS_KEY + "code:" + phone; String code = String.valueOf(stringRedisTemplate.opsForValue().get(key)); - if (StringUtils.isBlank(code)) { + if (StringUtils.isBlank(code) || "null".equals(code)) { // 生成验证码 - String numCode = getNumCode(); + String numCode = getNumCode().toUpperCase(); push(phone, numCode); stringRedisTemplate.opsForValue().set(key, numCode, 60, TimeUnit.SECONDS); } else { @@ -227,23 +230,24 @@ public class UserServiceImpl extends ServiceImpl implements IU String yzm2 = ""; //定义一个空的Atring变量用来接收生成的验证码 - for (int i = 0; i < 5; i++) { //循环5次每次生成一位,5位验证码 - - int a = yzm.nextInt(3); //验证码包括数字、大小写字母组成 - switch (a) { //a: 0 1 2 - case 0: // 数字 小写字母 大写字母 - char s = (char) (yzm.nextInt(26) + 65); - yzm2 = yzm2 + s; - break; - case 1: - char s1 = (char) (yzm.nextInt(26) + 97); - yzm2 = yzm2 + s1; - break; - case 2: - int s2 = yzm.nextInt(10); - yzm2 = yzm2 + s2; - break; - } + for (int i = 0; i < 6; i++) { + //循环5次每次生成一位,5位验证码 + yzm2 = yzm2 + yzm.nextInt(10); +// int a = yzm.nextInt(1); //验证码包括数字、大小写字母组成 +// switch (a) { //a: 0 1 2 +// case 0: // 数字 小写字母 大写字母 +// char s = (char) (yzm.nextInt(26) + 65); +// yzm2 = yzm2 + s; +// break; +// case 1: +// char s1 = (char) (yzm.nextInt(26) + 97); +// yzm2 = yzm2 + s1; +// break; +// case 2: +// int s2 = yzm.nextInt(10); +// yzm2 = yzm2 + s2; +// break; +// } } return yzm2; } @@ -259,9 +263,9 @@ public class UserServiceImpl extends ServiceImpl implements IU String content = "您正在登录湖北省防汛抗旱通讯录,验证码为:" + code + ",若非本人操作,请勿将验证码泄露他人。"; String body = "{\n" + - " \"channel\": \"[phone]\",\n" + + " \"channel\": [\"phone\"],\n" + " \"content\": \"" + content + "\",\n" + - " \"devices\": \"['" + phone + "']\",\n" + + " \"devices\": [\"" + phone + "\"],\n" + " \"foreignId\": \"" + UUID.randomUUID() + "\",\n" + " \"source\": \"山洪app\",\n" + // " \"token\": \"\",\n" + @@ -272,7 +276,10 @@ public class UserServiceImpl extends ServiceImpl implements IU String s = HttpUtil.sendPost("http://223.75.53.141:82/shpush/v1/push/", body); log.info("发送结果: " + s); - + JSONObject jsonObject = JSON.parseObject(s); + if (jsonObject.getInteger("code") != HttpStatus.SC_OK){ + throw new MyException(jsonObject.getString("message")); + } } @@ -312,8 +319,10 @@ public class UserServiceImpl extends ServiceImpl implements IU } public static void main(String[] args) { - String salt = UUID.randomUUID().toString().replaceAll("-", ""); - System.out.println(salt); - System.out.println(DigestUtils.md5DigestAsHex((salt + DEFAULT_PASSWORD).getBytes())); +// String salt = UUID.randomUUID().toString().replaceAll("-", ""); +// System.out.println(salt); +// System.out.println(DigestUtils.md5DigestAsHex((salt + DEFAULT_PASSWORD).getBytes())); + String numCode = getNumCode(); + System.out.println(); } }