刘力
3 years ago
13 changed files with 310 additions and 21 deletions
-
59common/src/main/java/com/canvas/web/annotation/rest/AnonymousPutMapping.java
-
4common/src/main/java/com/canvas/web/utils/RedisUtils.java
-
59system/src/main/java/com/canvas/web/modules/security/config/bean/MessageCode.java
-
9system/src/main/java/com/canvas/web/modules/security/config/bean/MessageCodeProperties.java
-
63system/src/main/java/com/canvas/web/modules/security/controller/AuthorizationController.java
-
18system/src/main/java/com/canvas/web/modules/security/service/dto/MsgDto.java
-
35system/src/main/java/com/canvas/web/modules/system/controller/UserController.java
-
24system/src/main/java/com/canvas/web/modules/system/domain/vo/UserPassVo.java
-
3system/src/main/java/com/canvas/web/modules/system/repository/UserRepository.java
-
17system/src/main/java/com/canvas/web/modules/system/service/RoleService.java
-
1system/src/main/java/com/canvas/web/modules/system/service/UserService.java
-
13system/src/main/java/com/canvas/web/modules/system/service/impl/RoleServiceImpl.java
-
26system/src/main/java/com/canvas/web/modules/system/service/impl/UserServiceImpl.java
@ -0,0 +1,59 @@ |
|||||
|
package com.canvas.web.annotation.rest; |
||||
|
|
||||
|
|
||||
|
import com.canvas.web.annotation.AnonymousAccess; |
||||
|
import org.springframework.core.annotation.AliasFor; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestMethod; |
||||
|
|
||||
|
import java.lang.annotation.*; |
||||
|
|
||||
|
@AnonymousAccess |
||||
|
@Target(ElementType.METHOD) |
||||
|
@Retention(RetentionPolicy.RUNTIME) |
||||
|
@Documented |
||||
|
@RequestMapping(method = RequestMethod.PUT) |
||||
|
public @interface AnonymousPutMapping { |
||||
|
|
||||
|
/** |
||||
|
* Alias for {@link RequestMapping#name}. |
||||
|
*/ |
||||
|
@AliasFor(annotation = RequestMapping.class) |
||||
|
String name() default ""; |
||||
|
|
||||
|
/** |
||||
|
* Alias for {@link RequestMapping#value}. |
||||
|
*/ |
||||
|
@AliasFor(annotation = RequestMapping.class) |
||||
|
String[] value() default {}; |
||||
|
|
||||
|
/** |
||||
|
* Alias for {@link RequestMapping#path}. |
||||
|
*/ |
||||
|
@AliasFor(annotation = RequestMapping.class) |
||||
|
String[] path() default {}; |
||||
|
|
||||
|
/** |
||||
|
* Alias for {@link RequestMapping#params}. |
||||
|
*/ |
||||
|
@AliasFor(annotation = RequestMapping.class) |
||||
|
String[] params() default {}; |
||||
|
|
||||
|
/** |
||||
|
* Alias for {@link RequestMapping#headers}. |
||||
|
*/ |
||||
|
@AliasFor(annotation = RequestMapping.class) |
||||
|
String[] headers() default {}; |
||||
|
|
||||
|
/** |
||||
|
* Alias for {@link RequestMapping#consumes}. |
||||
|
*/ |
||||
|
@AliasFor(annotation = RequestMapping.class) |
||||
|
String[] consumes() default {}; |
||||
|
|
||||
|
/** |
||||
|
* Alias for {@link RequestMapping#produces}. |
||||
|
*/ |
||||
|
@AliasFor(annotation = RequestMapping.class) |
||||
|
String[] produces() default {}; |
||||
|
} |
@ -0,0 +1,59 @@ |
|||||
|
package com.canvas.web.modules.security.config.bean; |
||||
|
|
||||
|
|
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
//短信配置类 |
||||
|
|
||||
|
|
||||
|
public class MessageCode { |
||||
|
|
||||
|
//短信验证码到期时间 |
||||
|
private static Long expiration = 5L; |
||||
|
|
||||
|
//短信模板编号 |
||||
|
private static String project = "hhzXr"; |
||||
|
|
||||
|
//短信验证码模板代码 |
||||
|
private static String key = "code"; |
||||
|
|
||||
|
//短信验证码模板值 |
||||
|
private static String val; |
||||
|
|
||||
|
//生成多少位验证码 |
||||
|
private static final Integer count = 4; |
||||
|
|
||||
|
|
||||
|
public static String getVal() { |
||||
|
return val; |
||||
|
} |
||||
|
|
||||
|
public static void setVal(String val) { |
||||
|
MessageCode.val = val; |
||||
|
} |
||||
|
|
||||
|
public static Long getExpiration() { |
||||
|
return expiration; |
||||
|
} |
||||
|
|
||||
|
public static void setExpiration(Long expiration) { |
||||
|
MessageCode.expiration = expiration; |
||||
|
} |
||||
|
|
||||
|
public static String getProject() { |
||||
|
return project; |
||||
|
} |
||||
|
|
||||
|
public static void setProject(String project) { |
||||
|
MessageCode.project = project; |
||||
|
} |
||||
|
|
||||
|
public static String getKey() { |
||||
|
return key; |
||||
|
} |
||||
|
|
||||
|
public static void setKey(String key) { |
||||
|
MessageCode.key = key; |
||||
|
} |
||||
|
} |
@ -0,0 +1,9 @@ |
|||||
|
package com.canvas.web.modules.security.config.bean; |
||||
|
|
||||
|
public class MessageCodeProperties { |
||||
|
|
||||
|
//随机生成验证码 |
||||
|
public static String generatedCode(int count){ |
||||
|
return String.valueOf((int)((Math.random()*9+1)*Math.pow(10,count-1))); |
||||
|
} |
||||
|
} |
@ -0,0 +1,18 @@ |
|||||
|
package com.canvas.web.modules.security.service.dto; |
||||
|
|
||||
|
|
||||
|
import lombok.AllArgsConstructor; |
||||
|
import lombok.Data; |
||||
|
import lombok.NoArgsConstructor; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
|
||||
|
@Data |
||||
|
@AllArgsConstructor |
||||
|
@NoArgsConstructor |
||||
|
public class MsgDto { |
||||
|
|
||||
|
@NotBlank(message = "手机号不能为空") |
||||
|
private String phone; |
||||
|
|
||||
|
} |
@ -0,0 +1,35 @@ |
|||||
|
package com.canvas.web.modules.system.controller; |
||||
|
|
||||
|
|
||||
|
import com.canvas.web.modules.system.service.RoleService; |
||||
|
import com.canvas.web.modules.system.service.UserService; |
||||
|
import com.canvas.web.modules.system.service.dto.UserDto; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import lombok.RequiredArgsConstructor; |
||||
|
import org.springframework.http.ResponseEntity; |
||||
|
import org.springframework.validation.annotation.Validated; |
||||
|
import org.springframework.web.bind.annotation.PostMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestBody; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RestController; |
||||
|
|
||||
|
@Api(tags = "用户管理") |
||||
|
@RestController |
||||
|
@RequestMapping("api/users/") |
||||
|
@RequiredArgsConstructor |
||||
|
public class UserController { |
||||
|
|
||||
|
private final UserService userService; |
||||
|
private final RoleService roleService; |
||||
|
|
||||
|
// @ApiOperation("新增用户") |
||||
|
// @PostMapping |
||||
|
// public ResponseEntity<Object> create(@Validated @RequestBody UserDto userDto){ |
||||
|
// |
||||
|
// } |
||||
|
// |
||||
|
// private void checkLevel(UserDto userDto){ |
||||
|
// Integer currentLevel= |
||||
|
// } |
||||
|
} |
@ -0,0 +1,24 @@ |
|||||
|
package com.canvas.web.modules.system.domain.vo; |
||||
|
|
||||
|
import com.alibaba.fastjson.annotation.JSONField; |
||||
|
import com.fasterxml.jackson.annotation.JsonProperty; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
|
||||
|
@Data |
||||
|
public class UserPassVo { |
||||
|
|
||||
|
@NotBlank(message = "手机号不能为空") |
||||
|
private String phone; |
||||
|
|
||||
|
@JsonProperty("new_pass") |
||||
|
@JSONField(name = "new_pass") |
||||
|
@NotBlank(message = "密码不能为空") |
||||
|
private String newPass; |
||||
|
|
||||
|
@NotBlank(message = "验证码不能为空") |
||||
|
private String code; |
||||
|
|
||||
|
private String uuid; |
||||
|
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue