Forráskód Böngészése

Merge remote-tracking branch 'origin/master'

zhangbin 4 éve
szülő
commit
a2d341df1e
28 módosított fájl, 210 hozzáadás és 609 törlés
  1. 0 116
      hzgzpt-admin/src/main/java/com/miaxis/app/controller/area/AreaCodeController.java
  2. 0 1
      hzgzpt-admin/src/main/java/com/miaxis/app/controller/coach/CoachEvaluateController.java
  3. 8 17
      hzgzpt-admin/src/main/java/com/miaxis/app/controller/news/NewsInfoController.java
  4. 0 1
      hzgzpt-admin/src/main/java/com/miaxis/app/controller/school/SchoolEvaluateController.java
  5. 2 1
      hzgzpt-admin/src/main/java/com/miaxis/app/controller/school/SchoolRegionController.java
  6. 7 15
      hzgzpt-admin/src/main/java/com/miaxis/app/controller/user/UserInfoController.java
  7. 26 1
      hzgzpt-admin/src/main/java/com/miaxis/system/controller/system/SysLoginController.java
  8. 8 8
      hzgzpt-admin/src/main/resources/application-dev.yml
  9. 5 17
      hzgzpt-common/src/main/java/com/miaxis/common/constant/Constants.java
  10. 6 3
      hzgzpt-common/src/main/java/com/miaxis/common/constant/SmsTemplateConstants.java
  11. 24 3
      hzgzpt-common/src/main/java/com/miaxis/common/core/domain/model/LoginUser.java
  12. 1 1
      hzgzpt-common/src/main/java/com/miaxis/common/enums/StudentLoginTypeEnum.java
  13. 31 0
      hzgzpt-common/src/main/java/com/miaxis/common/utils/RedisPrefixUtils.java
  14. 9 4
      hzgzpt-framework/src/main/java/com/miaxis/framework/aspectj/LogAspect.java
  15. 15 1
      hzgzpt-framework/src/main/java/com/miaxis/framework/config/SecurityConfig.java
  16. 1 0
      hzgzpt-framework/src/main/java/com/miaxis/framework/manager/AsyncManager.java
  17. 1 1
      hzgzpt-framework/src/main/java/com/miaxis/framework/security/token/MoblieCodeAuthenticationToken.java
  18. 1 0
      hzgzpt-framework/src/main/java/com/miaxis/framework/web/exception/GlobalExceptionHandler.java
  19. 12 3
      hzgzpt-framework/src/main/java/com/miaxis/framework/web/service/SysLoginService.java
  20. 0 103
      hzgzpt-service-app/src/main/java/com/miaxis/app/area/domain/AreaCode.java
  21. 0 61
      hzgzpt-service-app/src/main/java/com/miaxis/app/area/mapper/AreaCodeMapper.java
  22. 0 61
      hzgzpt-service-app/src/main/java/com/miaxis/app/area/service/IAreaCodeService.java
  23. 0 87
      hzgzpt-service-app/src/main/java/com/miaxis/app/area/service/impl/AreaCodeServiceImpl.java
  24. 33 15
      hzgzpt-service-app/src/main/java/com/miaxis/app/sms/impl/SmsServiceImpl.java
  25. 3 0
      hzgzpt-service-app/src/main/java/com/miaxis/app/user/dto/UserDto.java
  26. 1 1
      hzgzpt-service-app/src/main/java/com/miaxis/app/user/service/IUserInfoService.java
  27. 16 13
      hzgzpt-service-app/src/main/java/com/miaxis/app/user/service/impl/UserInfoServiceImpl.java
  28. 0 75
      hzgzpt-service-app/src/main/resources/mapper/area/AreaCodeMapper.xml

+ 0 - 116
hzgzpt-admin/src/main/java/com/miaxis/app/controller/area/AreaCodeController.java

@@ -1,116 +0,0 @@
-package com.miaxis.app.controller.area;
-
-import com.miaxis.common.constant.Constants;
-import java.util.List;
-import io.swagger.annotations.*;
-import com.miaxis.common.core.domain.Response;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import com.miaxis.common.annotation.Log;
-import com.miaxis.common.core.controller.BaseController;
-import com.miaxis.common.enums.BusinessTypeEnum;
-import com.miaxis.app.area.domain.AreaCode;
-import com.miaxis.app.area.service.IAreaCodeService;
-import com.miaxis.common.utils.poi.ExcelUtil;
-import com.miaxis.common.core.page.ResponsePageInfo;
-
-/**
- * 【区域编码】Controller
- *
- * @author zhangbin
- * @date 2020-12-28
- */
-@RestController
-@RequestMapping("/area/code")
-@Api(tags={"【app-区域编码】"})
-public class AreaCodeController extends BaseController{
-    @Autowired
-    private IAreaCodeService areaCodeService;
-
-    /**
-     * 查询区域编码列表
-     */
-    //@PreAuthorize("@ss.hasPermi('area:code:list')")
-    @GetMapping("/list")
-    @ApiOperation("查询区域编码列表")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "pageNum",value = "当前页码" ,dataType = "int", paramType = "query", required = false),
-            @ApiImplicitParam(name = "pageSize",value = "每页数据量" , dataType = "int", paramType = "query", required = false),
-    })
-    public ResponsePageInfo<AreaCode> list(@ModelAttribute AreaCode areaCode){
-        startPage();
-        List<AreaCode> list = areaCodeService.selectAreaCodeList(areaCode);
-        return toResponsePageInfo(list);
-    }
-
-    /**
-     * 导出区域编码列表
-     */
-   // @PreAuthorize("@ss.hasPermi('area:code:export')")
-    @Log(title = "区域编码", businessType = BusinessTypeEnum.EXPORT)
-    @GetMapping("/export")
-    @ApiOperation("导出区域编码列表Excel")
-    public Response<String> export(@ModelAttribute AreaCode areaCode){
-        List<AreaCode> list = areaCodeService.selectAreaCodeList(areaCode);
-        ExcelUtil<AreaCode> util = new ExcelUtil<AreaCode>(AreaCode.class);
-        return util.exportExcel(list, "code");
-    }
-
-    /**
-     * 获取区域编码详细信息
-     */
-    //@PreAuthorize("@ss.hasPermi('area:code:query')")
-    @GetMapping(value = "/{code}")
-    @ApiOperation("获取区域编码详细信息")
-    public Response<AreaCode> getInfo(
-            @ApiParam(name = "code", value = "区域编码参数", required = true)
-            @PathVariable("code") String code
-    ){
-        return Response.success(areaCodeService.selectAreaCodeById(code));
-    }
-
-    /**
-     * 新增区域编码
-     */
-    //@PreAuthorize("@ss.hasPermi('area:code:add')")
-    @Log(title = "区域编码", businessType = BusinessTypeEnum.INSERT)
-    @PostMapping
-    @ApiOperation("新增区域编码")
-    public Response<Integer> add(@RequestBody AreaCode areaCode){
-        return toResponse(areaCodeService.insertAreaCode(areaCode));
-    }
-
-    /**
-     * 修改区域编码
-     */
-    //@PreAuthorize("@ss.hasPermi('area:code:edit')")
-    @Log(title = "区域编码", businessType = BusinessTypeEnum.UPDATE)
-    @PutMapping
-    @ApiOperation("修改区域编码")
-    public Response<Integer> edit(@RequestBody AreaCode areaCode){
-        return toResponse(areaCodeService.updateAreaCode(areaCode));
-    }
-
-    /**
-     * 删除区域编码
-     */
-    //@PreAuthorize("@ss.hasPermi('area:code:remove')")
-    @Log(title = "区域编码", businessType = BusinessTypeEnum.DELETE)
-	@DeleteMapping("/{codes}")
-    @ApiOperation("删除区域编码")
-    public  Response<Integer> remove(
-            @ApiParam(name = "codes", value = "区域编码ids参数", required = true)
-            @PathVariable String[] codes
-    ){
-        return toResponse(areaCodeService.deleteAreaCodeByIds(codes));
-    }
-}

+ 0 - 1
hzgzpt-admin/src/main/java/com/miaxis/app/controller/coach/CoachEvaluateController.java

@@ -48,7 +48,6 @@ public class CoachEvaluateController extends BaseController{
     /**
      * 新增教练评价
      */
-    @Log(title = "教练评价", businessType = BusinessTypeEnum.INSERT)
     @PostMapping("/addCoachEvaluate")
     @ApiOperation("新增教练评价")
     public Response addCoachEvaluate(CoachEvaluateDto coachEvaluateDto){

+ 8 - 17
hzgzpt-admin/src/main/java/com/miaxis/app/controller/news/NewsInfoController.java

@@ -1,28 +1,19 @@
 package com.miaxis.app.controller.news;
 
-import java.util.List;
-
 import com.miaxis.app.news.domain.NewsInfo;
 import com.miaxis.app.news.service.INewsInfoService;
+import com.miaxis.common.annotation.Log;
 import com.miaxis.common.constant.Constants;
+import com.miaxis.common.core.controller.BaseController;
+import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.page.ResponsePageInfo;
+import com.miaxis.common.enums.BusinessTypeEnum;
 import com.miaxis.common.utils.poi.ExcelUtil;
 import io.swagger.annotations.*;
-import com.miaxis.common.core.domain.Response;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.bind.annotation.ModelAttribute;
-import com.miaxis.common.annotation.Log;
-import com.miaxis.common.core.controller.BaseController;
-import com.miaxis.common.enums.BusinessTypeEnum;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 /**
  * 【新闻(首页资讯、通知、公告相关)】Controller
@@ -32,7 +23,7 @@ import com.miaxis.common.enums.BusinessTypeEnum;
  */
 @RestController
 @RequestMapping(Constants.OPEN_PREFIX+"/system/info")
-@Api(tags={"【新闻(首页资讯、通知、公告相关)】Controller"})
+@Api(tags={"【app-新闻(首页资讯、通知、公告相关)】"})
 public class NewsInfoController extends BaseController{
     @Autowired
     private INewsInfoService newsInfoService;

+ 0 - 1
hzgzpt-admin/src/main/java/com/miaxis/app/controller/school/SchoolEvaluateController.java

@@ -45,7 +45,6 @@ public class SchoolEvaluateController extends BaseController{
     /**
      * 新增驾校评价
      */
-    @Log(title = "驾校评价", businessType = BusinessTypeEnum.INSERT)
     @PostMapping("/addSchoolEvaluate")
     @ApiOperation("新增驾校评价")
     public Response addSchoolEvaluate(SchoolEvaluateDto schoolEvaluateDto){

+ 2 - 1
hzgzpt-admin/src/main/java/com/miaxis/app/controller/school/SchoolRegionController.java

@@ -13,6 +13,7 @@ import com.miaxis.common.enums.BusinessTypeEnum;
 import com.miaxis.common.utils.poi.ExcelUtil;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -33,7 +34,7 @@ public class SchoolRegionController extends BaseController{
     /**
      * 查询驾校训练场列表
      */
-    //@PreAuthorize("@ss.hasPermi('school:region:list')")
+    @PreAuthorize("@ss.hasPermi('school:region:list')")
     @GetMapping("/list")
     @ApiOperation("查询驾校训练场列表")
     @ApiImplicitParams({

+ 7 - 15
hzgzpt-admin/src/main/java/com/miaxis/app/controller/user/UserInfoController.java

@@ -5,14 +5,12 @@ import com.miaxis.app.user.service.IUserInfoService;
 import com.miaxis.app.user.vo.UserVo;
 import com.miaxis.common.aliyunOSS.AliyunConfig;
 import com.miaxis.common.aliyunOSS.AliyunUpload;
-import com.miaxis.common.annotation.Log;
 import com.miaxis.common.constant.Constants;
 import com.miaxis.common.core.controller.BaseController;
 import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.domain.entity.SysUser;
 import com.miaxis.common.core.domain.entity.UserInfo;
 import com.miaxis.common.core.page.ResponsePageInfo;
-import com.miaxis.common.enums.BusinessTypeEnum;
 import com.miaxis.common.utils.SecurityUtils;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -33,8 +31,8 @@ import java.util.Map;
  * @date 2020-12-23
  */
 @RestController
-@RequestMapping(Constants.OPEN_PREFIX+"/user/info")
-@Api(tags={"【普通用户信息】Controller"})
+@RequestMapping(Constants.STUDENT_PREFIX+"/user/info")
+@Api(tags={"【app-普通用户信息】"})
 public class UserInfoController extends BaseController{
 
     @Autowired
@@ -72,7 +70,6 @@ public class UserInfoController extends BaseController{
     /**
      * 修改用户信息
      */
-    @Log(title = "用户信息", businessType = BusinessTypeEnum.UPDATE)
     @PutMapping
     @ApiOperation("修改用户信息")
     public Response<Integer> edit(@RequestBody UserInfo userInfo){
@@ -82,7 +79,6 @@ public class UserInfoController extends BaseController{
     /**
      * 删除用户信息
      */
-    @Log(title = "用户信息", businessType = BusinessTypeEnum.DELETE)
 	@DeleteMapping("/{ids}")
     @ApiOperation("删除用户信息")
     public  Response<Integer> remove(
@@ -96,7 +92,6 @@ public class UserInfoController extends BaseController{
      * 上传身份证正反面,及人像图片
      * uploadIdCardAndHeadPicture
      */
-    @Log(title = "用户信息", businessType = BusinessTypeEnum.INSERT)
     @PostMapping("/uploadIdCardAndHeadPicture")
     @ApiOperation("上传身份证正反面,及人像图片")
     @ApiImplicitParams({
@@ -118,7 +113,6 @@ public class UserInfoController extends BaseController{
      * 删除文件
      * uploadIdCardAndHeadPicture
      */
-    @Log(title = "用户信息", businessType = BusinessTypeEnum.DELETE)
     @PostMapping("/deleteCardAndHeadPicture")
     @ApiOperation("删除文件")
     @ApiImplicitParam(name = "filePath",value = "文件路径(filePath)" ,dataType = "String",required = true)
@@ -132,7 +126,6 @@ public class UserInfoController extends BaseController{
      * 保存用户报名信息
      * uploadIdCardAndHeadPicture
      */
-    @Log(title = "用户信息", businessType = BusinessTypeEnum.INSERT)
     @PostMapping("/saveUserInformation")
     @ApiOperation("保存用户报名信息")
     public Response saveUserInformation(UserDto userDto) {
@@ -167,8 +160,8 @@ public class UserInfoController extends BaseController{
             @ApiImplicitParam(name = "type",value = "login:用户登录验证码、modify:修改手机验证码、signUp:注册报名验证码" ,dataType = "String",required = true),
             @ApiImplicitParam(name = "phone", value = "手机号码", required = true, dataType = "String")
     })
-    @PostMapping(value = "/sendVerificationCode")
-    public Response sendVerificationCode(String type,String phone){
+    @PostMapping(value = "/sendModifyVerificationCode")
+    public Response sendModifyVerificationCode(String type,String phone){
         //获取当前用户
         SysUser user = SecurityUtils.getLoginUser().getUser();
 
@@ -179,24 +172,23 @@ public class UserInfoController extends BaseController{
     /**
      * 修改用户手机号
      */
-    @Log(title = "用户信息", businessType = BusinessTypeEnum.UPDATE)
     @PostMapping("/modifyPhoneNumber")
     @ApiOperation("修改用户手机号")
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "smsCodeType,", value = "login:用户登录验证码、modify:修改手机验证码、signUp:注册报名验证码", required = true, dataType = "String"),
             @ApiImplicitParam(name = "phone", value = "手机号码", required = true, dataType = "String"),
             @ApiImplicitParam(name = "verificationCode", value = "短信验证码", required = true, dataType = "String")
     })
-    public Response modifyPhoneNumber(String phone,String verificationCode){
+    public Response modifyPhoneNumber(String smsCodeType,String phone,String verificationCode){
         //获取当前用户
         SysUser user = SecurityUtils.getLoginUser().getUser();
         //修改手机号
-        return userInfoService.modifyPhoneNumber(phone,verificationCode,user);
+        return userInfoService.modifyPhoneNumber(smsCodeType,phone,verificationCode,user);
     }
 
     /**
      * 查询我的报名信息
      */
-    @Log(title = "用户信息",businessType = BusinessTypeEnum.OTHER)
     @GetMapping("/getMyRegistrationInformation")
     @ApiOperation("查询我的报名信息")
     @ApiImplicitParam(name = "userId",value = "用户id" ,dataType = "String",required = true)

+ 26 - 1
hzgzpt-admin/src/main/java/com/miaxis/system/controller/system/SysLoginController.java

@@ -1,5 +1,7 @@
 package com.miaxis.system.controller.system;
 
+import com.miaxis.app.sms.ISmsService;
+import com.miaxis.app.sms.domain.SmsParameter;
 import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.domain.entity.SysMenu;
 import com.miaxis.common.core.domain.entity.SysUser;
@@ -17,6 +19,8 @@ import com.miaxis.system.dto.system.TokenDTO;
 import com.miaxis.system.dto.system.UserInfoDTO;
 import com.miaxis.system.service.ISysMenuService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -48,6 +52,9 @@ public class SysLoginController
     @Autowired
     private TokenService tokenService;
 
+    @Autowired
+    private ISmsService smsService;
+
     /**
      * 登录方法 (含验证码)
      *
@@ -97,12 +104,30 @@ public class SysLoginController
         return Response.success(tokenDTO);
     }
 
+
+
+    /**
+     * 学员用户名密码登录方法
+     *
+     * @return 结果
+     */
+    @PostMapping("/login/studentMobileCode")
+    @ApiOperation("获取学员手机验证码")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mobile",value = "学员手机验证码" ,dataType = "int", paramType = "query", required = false)
+    })
+    public Response studentMobileCode(String mobile) {
+        SmsParameter smsParameter = new SmsParameter();
+        smsParameter.setPhone(mobile);
+        smsParameter.setType("login");
+        return smsService.sendVerificationCode(smsParameter);
+    }
     /**
      * 学员用户名密码登录方法
      *
      * @return 结果
      */
-    @PostMapping("/login/studentmobile")
+    @PostMapping("/login/studentMobile")
     @ApiOperation("学员手机验证码登录")
     public Response<TokenDTO> loginStudentmobile(@RequestBody LoginBodyMobleCode loginBodyMobleCode)
     {   TokenDTO tokenDTO = new TokenDTO();

+ 8 - 8
hzgzpt-admin/src/main/resources/application-dev.yml

@@ -8,14 +8,14 @@ spring:
             master:
                 url: jdbc:mysql://192.168.8.213:3306/hzgzpt?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true
                 username: root
-                password: 123456
+                password: miaxis110
             # 从库数据源
             slave:
                 # 从数据源开关/默认关闭
                 enabled: false
-                url: 
-                username: 
-                password: 
+                url:
+                username:
+                password:
             # 初始连接数
             initialSize: 5
             # 最小连接池数量
@@ -35,7 +35,7 @@ spring:
             testWhileIdle: true
             testOnBorrow: false
             testOnReturn: false
-            webStatFilter: 
+            webStatFilter:
                 enabled: true
             statViewServlet:
                 enabled: true
@@ -43,8 +43,8 @@ spring:
                 allow:
                 url-pattern: /druid/*
                 # 控制台管理用户名和密码
-                login-username: 
-                login-password: 
+                login-username:
+                login-password:
             filter:
                 stat:
                     enabled: true
@@ -74,4 +74,4 @@ spring:
                 # 连接池的最大数据库连接数
                 max-active: 8
                 # #连接池最大阻塞等待时间(使用负值表示没有限制)
-                max-wait: -1ms
+                max-wait: -1ms

+ 5 - 17
hzgzpt-common/src/main/java/com/miaxis/common/constant/Constants.java

@@ -57,15 +57,6 @@ public class Constants
      */
     public static final String CAPTCHA_CODE_KEY = "captcha_codes:";
 
-    /**
-     * 修改手机号验证码 redis key
-     */
-    public static final String SMS_MODIFY_CODE = "sms:modify:code:";
-    /**
-     * 修改手机号验证码次数 redis key
-     */
-    public static final String SMS_MODIFY_CODE_COUNT = "sms:modify:code:count:";
-
     /**
      * 登录短信验证码 redis key
      */
@@ -75,14 +66,6 @@ public class Constants
      */
     public static final String SMS_LOGIN_CODE_COUNT = "sms:login:code:count:";
 
-    /**
-     * 报名手机号验证码 redis key
-     */
-    public static final String SMS_SIGNUP_CODE = "sms:signUp:code:";
-    /**
-     * 报名手机号验证码次数 redis key
-     */
-    public static final String SMS_SIGNUP_CODE_COUNT = "sms:signUp:code:count:";
 
     /**
      * 登录用户 redis key
@@ -158,4 +141,9 @@ public class Constants
      * 开放api路径 前缀
      */
     public static final String OPEN_PREFIX = "/open";
+
+    /**
+     * 学员权限路径
+     */
+    public static final String STUDENT_PREFIX = "/student";
 }

+ 6 - 3
hzgzpt-common/src/main/java/com/miaxis/common/constant/SmsTemplateConstants.java

@@ -17,17 +17,20 @@ public class SmsTemplateConstants {
     /**
      * 登录短信模板
      */
-    public static final String login = "登录验证码:code,验证码两分钟内有效";
+//    public static final String login = "登录手机号验证码:code,验证码两分钟内有效";
+    public static final String login = "本次验证码:code,验证码两分钟内有效";
 
     /**
      * 修改手机号短信模板
      */
-    public static final String modify = "修改手机号验证码:code,验证码两分钟内有效";
+//    public static final String modify = "修改手机号验证码:code,验证码两分钟内有效";
+    public static final String modify = "本次验证码:code,验证码两分钟内有效";
 
     /**
      * 注册报名短信模板
      */
-    public static final String signUp = "报名手机验证码:code,验证码两分钟内有效";
+//    public static final String signUp = "报名手机号验证码:code,验证码两分钟内有效";
+    public static final String signUp = "本次验证码:code,验证码两分钟内有效";
 
 
 }

+ 24 - 3
hzgzpt-common/src/main/java/com/miaxis/common/core/domain/model/LoginUser.java

@@ -6,11 +6,13 @@ import com.miaxis.common.core.domain.entity.SysUser;
 import com.miaxis.common.core.domain.entity.UserInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
 import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
 import org.springframework.security.core.userdetails.UserDetails;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 import java.util.Set;
 
 /**
@@ -19,7 +21,6 @@ import java.util.Set;
  * @author miaxis
  */
 @ApiModel(value = "LoginUser", description = "登录用户身份权限")
-@Data
 public class LoginUser implements UserDetails
 {
     private static final long serialVersionUID = 1L;
@@ -255,10 +256,30 @@ public class LoginUser implements UserDetails
     {
         this.user = user;
     }
+    public UserInfo getStudent()
+    {
+        return this.student;
+    }
 
+    public void setStudent(UserInfo student)
+    {
+        this.student = student;
+    }
     @Override
     public Collection<? extends GrantedAuthority> getAuthorities()
     {
-        return null;
+        if (this.getStudent() != null){
+            List<SimpleGrantedAuthority> roleList = new ArrayList<SimpleGrantedAuthority>();
+            roleList.add(new SimpleGrantedAuthority("ROLE_STUDENT"));
+            return roleList;
+        }else {
+            return null;
+        }
+
+
     }
+    public void setAuthorities(Collection<? extends GrantedAuthority> collection){
+
+    }
+
 }

+ 1 - 1
hzgzpt-common/src/main/java/com/miaxis/common/enums/StudentLoginTypeEnum.java

@@ -1,7 +1,7 @@
 package com.miaxis.common.enums;
 
 /**
- * 用户状态
+ * 用户登录类型
  *
  * @author miaxis
  */

+ 31 - 0
hzgzpt-common/src/main/java/com/miaxis/common/utils/RedisPrefixUtils.java

@@ -0,0 +1,31 @@
+package com.miaxis.common.utils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * redis前缀生成工具
+ * @Author wwl
+ * @Date 2020/12/29
+ * @Version 1.0
+ */
+public class RedisPrefixUtils {
+
+    /**
+     * 生成短信验证码redis前缀
+     * keyPrefix : 验证码缓存前缀
+     * smsKeyCountPrefix :该手机号验证次数缓存前缀
+     * @return
+     */
+    public static Map<String,String> smsRedisPrefix(String type, String phone){
+        String keyPrefix = "sms:code:"+type+":"+phone;
+        String smsKeyCountPrefix = "sms:code:count:"+type+":"+phone;
+
+        Map<String, String> map = new HashMap<>();
+        map.put("keyPrefix",keyPrefix);
+        map.put("smsKeyCountPrefix",smsKeyCountPrefix);
+
+        return map;
+    }
+
+}

+ 9 - 4
hzgzpt-framework/src/main/java/com/miaxis/framework/aspectj/LogAspect.java

@@ -14,21 +14,22 @@ import com.miaxis.framework.manager.factory.AsyncFactory;
 import com.miaxis.framework.web.service.TokenService;
 import com.miaxis.system.domain.SysOperLog;
 import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.ProceedingJoinPoint;
 import org.aspectj.lang.Signature;
-import org.aspectj.lang.annotation.AfterReturning;
-import org.aspectj.lang.annotation.AfterThrowing;
-import org.aspectj.lang.annotation.Aspect;
-import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.annotation.*;
 import org.aspectj.lang.reflect.MethodSignature;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Component;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.servlet.HandlerMapping;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.lang.reflect.Method;
+import java.util.Enumeration;
 import java.util.Map;
 
 /**
@@ -215,4 +216,8 @@ public class LogAspect
     {
         return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse;
     }
+
+
+
+
 }

+ 15 - 1
hzgzpt-framework/src/main/java/com/miaxis/framework/config/SecurityConfig.java

@@ -3,10 +3,13 @@ package com.miaxis.framework.config;
 import com.miaxis.framework.security.filter.JwtAuthenticationTokenFilter;
 import com.miaxis.framework.security.handle.AuthenticationEntryPointImpl;
 import com.miaxis.framework.security.handle.LogoutSuccessHandlerImpl;
+import com.miaxis.framework.security.provider.MobileCodeAuthenticationProvider;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.http.HttpMethod;
 import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.ProviderManager;
+import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
 import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
 import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
@@ -18,6 +21,8 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic
 import org.springframework.security.web.authentication.logout.LogoutFilter;
 import org.springframework.web.filter.CorsFilter;
 
+import java.util.Arrays;
+
 /**
  * spring security配置
  *
@@ -66,6 +71,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
     @Override
     public AuthenticationManager authenticationManagerBean() throws Exception
     {
+
         return super.authenticationManagerBean();
     }
 
@@ -99,7 +105,8 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 // 对于app 开放页面,允许任意访问
                 .antMatchers("/open/**").permitAll()
                 // 对于登录login 验证码captchaImage 允许匿名访问
-                .antMatchers("/login", "/login/noCode","/captchaImage","/login/studentpassword").anonymous()
+                .antMatchers("/login", "/login/noCode","/captchaImage","/login/studentpassword","/login/studentMobileCode","/login/studentMobile").anonymous()
+                .antMatchers("/student/**").hasRole("STUDENT")
                 .antMatchers(
                         HttpMethod.GET,
                         "/*.html",
@@ -143,6 +150,13 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
     @Override
     protected void configure(AuthenticationManagerBuilder auth) throws Exception
     {
+        DaoAuthenticationProvider daoAuthenticationProvider = new DaoAuthenticationProvider();
+        MobileCodeAuthenticationProvider mobileCodeAuthenticationProvider = new MobileCodeAuthenticationProvider();
+//        daoAuthenticationProvider.setUserDetailsService(userDetailsService);
+        mobileCodeAuthenticationProvider.setUserDetailsService(userDetailsService);
+        //ProviderManager providerManager = new ProviderManager(Arrays.asList(mobileCodeAuthenticationProvider,daoAuthenticationProvider));
+        auth.authenticationProvider(mobileCodeAuthenticationProvider);
         auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder());
+
     }
 }

+ 1 - 0
hzgzpt-framework/src/main/java/com/miaxis/framework/manager/AsyncManager.java

@@ -38,6 +38,7 @@ public class AsyncManager
 
     /**
      * 执行任务
+     * 创建并执行启用的一次性操作,在给定的延迟时间之后执行
      * 
      * @param task 任务
      */

+ 1 - 1
hzgzpt-framework/src/main/java/com/miaxis/framework/security/token/MoblieCodeAuthenticationToken.java

@@ -97,7 +97,7 @@ public class MoblieCodeAuthenticationToken extends AbstractAuthenticationToken {
 
 	@Override
 	public void eraseCredentials() {
-		super.eraseCredentials();
+		//super.eraseCredentials();
 
 	}
 }

+ 1 - 0
hzgzpt-framework/src/main/java/com/miaxis/framework/web/exception/GlobalExceptionHandler.java

@@ -42,6 +42,7 @@ public class GlobalExceptionHandler
     @ExceptionHandler(CustomException.class)
     public Response businessException(CustomException e)
     {
+        log.error(e.getMessage(), e);
         if (StringUtils.isNull(e.getCode()))
         {
             return Response.error().setMsg((e.getMessage()));

+ 12 - 3
hzgzpt-framework/src/main/java/com/miaxis/framework/web/service/SysLoginService.java

@@ -9,6 +9,7 @@ import com.miaxis.common.exception.user.CaptchaException;
 import com.miaxis.common.exception.user.CaptchaExpireException;
 import com.miaxis.common.exception.user.UserPasswordNotMatchException;
 import com.miaxis.common.utils.MessageUtils;
+import com.miaxis.common.utils.RedisPrefixUtils;
 import com.miaxis.common.utils.ServletUtils;
 import com.miaxis.common.utils.StringUtils;
 import com.miaxis.framework.manager.AsyncManager;
@@ -23,6 +24,7 @@ import org.springframework.security.core.Authentication;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import java.util.Map;
 
 /**
  * 登录校验方法
@@ -38,6 +40,10 @@ public class SysLoginService
     @Resource
     private AuthenticationManager authenticationManager;
 
+//    @Resource
+//    private ProviderManager providerManager;
+
+
     @Autowired
     private RedisCache redisCache;
 
@@ -98,8 +104,8 @@ public class SysLoginService
             return authenticate(principal,new UsernamePasswordAuthenticationToken(principal, credential));
         } else if (StudentLoginTypeEnum.MOBILELOGIN.getCode().equals(loginType)){
             //验证码是否正确
-            validateCode(principal,credential);
-            return authenticate(principal,new MoblieCodeAuthenticationToken(credential));
+//            validateCode(principal,credential);
+            return authenticate(principal,new MoblieCodeAuthenticationToken(principal));
         }
         else{
             throw new CustomException("loginType参数错误");
@@ -112,7 +118,8 @@ public class SysLoginService
         if (StringUtils.isEmpty(credential)){
             throw new CustomException("验证码不能为空");
         }
-        String cacheCode = (String) redisTemplate.opsForValue().get(Constants.SMS_LOGIN_CODE + principal);
+        Map map = (Map)RedisPrefixUtils.smsRedisPrefix("login", principal);
+        String  cacheCode = (String) redisTemplate.opsForValue().get(map.get("keyPrefix"));
         if (StringUtils.isEmpty(cacheCode)){
             throw new CustomException("验证码已过期,请重新发送");
         }else if (!credential.equals(cacheCode)){
@@ -124,6 +131,7 @@ public class SysLoginService
          Authentication authentication = null;
         try
         {
+
             // 该方法会去调用UserDetailsServiceImpl.loadUserByUsername
             authentication = authenticationManager
                     .authenticate(authenticationToken);
@@ -137,6 +145,7 @@ public class SysLoginService
             }
             else
             {
+                e.getStackTrace();
                 AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()));
                 throw new CustomException(e.getMessage());
             }

+ 0 - 103
hzgzpt-service-app/src/main/java/com/miaxis/app/area/domain/AreaCode.java

@@ -1,103 +0,0 @@
-package com.miaxis.app.area.domain;
-
-import com.miaxis.common.core.domain.BaseBusinessEntity;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.apache.commons.lang3.builder.ToStringStyle;
-import com.miaxis.common.annotation.Excel;
-import com.miaxis.common.core.domain.BaseEntity;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableField;
-import lombok.Data;
-/**
- * 区域编码对象 area_code
- *
- * @author zhangbin
- * @date 2020-12-28
- */
-@Data
-@TableName("area_code")
-@ApiModel(value = "AreaCode", description = "区域编码对象 area_code")
-public class AreaCode extends BaseBusinessEntity {
-    private static final long serialVersionUID = 1L;
-
-    /** 区域编码 */
-    @Excel(name = "区域编码")
-    @TableField("code")
-    @ApiModelProperty(value = "区域编码")
-    private String code;
-
-    /** 区域名称 */
-    @Excel(name = "区域名称")
-    @TableField("name")
-    @ApiModelProperty(value = "区域名称")
-    private String name;
-
-    /** 类型 */
-    @Excel(name = "类型")
-    @TableField("type")
-    @ApiModelProperty(value = "类型")
-    private String type;
-
-    /** $column.columnComment */
-    @Excel(name = "类型")
-    @TableField("leaf")
-    @ApiModelProperty(value = "$column.columnComment")
-    private String leaf;
-
-    /** 父编码 */
-    @Excel(name = "父编码")
-    @TableField("parent_code")
-    @ApiModelProperty(value = "父编码")
-    private String parentCode;
-
-    public void setCode(String code){
-        this.code = code;
-    }
-
-    public String getCode(){
-        return code;
-    }
-    public void setName(String name){
-        this.name = name;
-    }
-
-    public String getName(){
-        return name;
-    }
-    public void setType(String type){
-        this.type = type;
-    }
-
-    public String getType(){
-        return type;
-    }
-    public void setLeaf(String leaf){
-        this.leaf = leaf;
-    }
-
-    public String getLeaf(){
-        return leaf;
-    }
-    public void setParentCode(String parentCode){
-        this.parentCode = parentCode;
-    }
-
-    public String getParentCode(){
-        return parentCode;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
-            .append("code", getCode())
-            .append("name", getName())
-            .append("type", getType())
-            .append("leaf", getLeaf())
-            .append("parentCode", getParentCode())
-            .toString();
-    }
-}

+ 0 - 61
hzgzpt-service-app/src/main/java/com/miaxis/app/area/mapper/AreaCodeMapper.java

@@ -1,61 +0,0 @@
-package com.miaxis.app.area.mapper;
-
-import java.util.List;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.miaxis.app.area.domain.AreaCode;
-
-/**
- * 区域编码Mapper接口
- *
- * @author zhangbin
- * @date 2020-12-28
- */
-public interface AreaCodeMapper extends BaseMapper<AreaCode> {
-    /**
-     * 查询区域编码
-     *
-     * @param code 区域编码ID
-     * @return 区域编码
-     */
-    public AreaCode selectAreaCodeById(String code);
-
-    /**
-     * 查询区域编码列表
-     *
-     * @param areaCode 区域编码
-     * @return 区域编码集合
-     */
-    public List<AreaCode> selectAreaCodeList(AreaCode areaCode);
-
-    /**
-     * 新增区域编码
-     *
-     * @param areaCode 区域编码
-     * @return 结果
-     */
-    public int insertAreaCode(AreaCode areaCode);
-
-    /**
-     * 修改区域编码
-     *
-     * @param areaCode 区域编码
-     * @return 结果
-     */
-    public int updateAreaCode(AreaCode areaCode);
-
-    /**
-     * 删除区域编码
-     *
-     * @param code 区域编码ID
-     * @return 结果
-     */
-    public int deleteAreaCodeById(String code);
-
-    /**
-     * 批量删除区域编码
-     *
-     * @param codes 需要删除的数据ID
-     * @return 结果
-     */
-    public int deleteAreaCodeByIds(String[] codes);
-}

+ 0 - 61
hzgzpt-service-app/src/main/java/com/miaxis/app/area/service/IAreaCodeService.java

@@ -1,61 +0,0 @@
-package com.miaxis.app.area.service;
-
-import java.util.List;
-import com.miaxis.app.area.domain.AreaCode;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * 区域编码Service接口
- * 
- * @author zhangbin
- * @date 2020-12-28
- */
-public interface IAreaCodeService extends IService<AreaCode>{
-    /**
-     * 查询区域编码
-     * 
-     * @param code 区域编码ID
-     * @return 区域编码
-     */
-    public AreaCode selectAreaCodeById(String code);
-
-    /**
-     * 查询区域编码列表
-     * 
-     * @param areaCode 区域编码
-     * @return 区域编码集合
-     */
-    public List<AreaCode> selectAreaCodeList(AreaCode areaCode);
-
-    /**
-     * 新增区域编码
-     * 
-     * @param areaCode 区域编码
-     * @return 结果
-     */
-    public int insertAreaCode(AreaCode areaCode);
-
-    /**
-     * 修改区域编码
-     * 
-     * @param areaCode 区域编码
-     * @return 结果
-     */
-    public int updateAreaCode(AreaCode areaCode);
-
-    /**
-     * 批量删除区域编码
-     * 
-     * @param codes 需要删除的区域编码ID
-     * @return 结果
-     */
-    public int deleteAreaCodeByIds(String[] codes);
-
-    /**
-     * 删除区域编码信息
-     * 
-     * @param code 区域编码ID
-     * @return 结果
-     */
-    public int deleteAreaCodeById(String code);
-}

+ 0 - 87
hzgzpt-service-app/src/main/java/com/miaxis/app/area/service/impl/AreaCodeServiceImpl.java

@@ -1,87 +0,0 @@
-package com.miaxis.app.area.service.impl;
-
-import java.util.List;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import com.miaxis.app.area.mapper.AreaCodeMapper;
-import com.miaxis.app.area.domain.AreaCode;
-import com.miaxis.app.area.service.IAreaCodeService;
-
-/**
- * 区域编码Service业务层处理
- *
- * @author zhangbin
- * @date 2020-12-28
- */
-@Service
-public class AreaCodeServiceImpl extends ServiceImpl<AreaCodeMapper, AreaCode> implements IAreaCodeService {
-    @Autowired
-    private AreaCodeMapper areaCodeMapper;
-
-    /**
-     * 查询区域编码
-     *
-     * @param code 区域编码ID
-     * @return 区域编码
-     */
-    @Override
-    public AreaCode selectAreaCodeById(String code){
-        return areaCodeMapper.selectAreaCodeById(code);
-    }
-
-    /**
-     * 查询区域编码列表
-     *
-     * @param areaCode 区域编码
-     * @return 区域编码
-     */
-    @Override
-    public List<AreaCode> selectAreaCodeList(AreaCode areaCode){
-        return areaCodeMapper.selectAreaCodeList(areaCode);
-    }
-
-    /**
-     * 新增区域编码
-     *
-     * @param areaCode 区域编码
-     * @return 结果
-     */
-    @Override
-    public int insertAreaCode(AreaCode areaCode){
-        return areaCodeMapper.insertAreaCode(areaCode);
-    }
-
-    /**
-     * 修改区域编码
-     *
-     * @param areaCode 区域编码
-     * @return 结果
-     */
-    @Override
-    public int updateAreaCode(AreaCode areaCode){
-        return areaCodeMapper.updateAreaCode(areaCode);
-    }
-
-    /**
-     * 批量删除区域编码
-     *
-     * @param codes 需要删除的区域编码ID
-     * @return 结果
-     */
-    @Override
-    public int deleteAreaCodeByIds(String[] codes){
-        return areaCodeMapper.deleteAreaCodeByIds(codes);
-    }
-
-    /**
-     * 删除区域编码信息
-     *
-     * @param code 区域编码ID
-     * @return 结果
-     */
-    @Override
-    public int deleteAreaCodeById(String code){
-        return areaCodeMapper.deleteAreaCodeById(code);
-    }
-}

+ 33 - 15
hzgzpt-service-app/src/main/java/com/miaxis/app/sms/impl/SmsServiceImpl.java

@@ -2,18 +2,21 @@ package com.miaxis.app.sms.impl;
 
 import com.miaxis.app.sms.ISmsService;
 import com.miaxis.app.sms.domain.SmsParameter;
-import com.miaxis.common.constant.Constants;
 import com.miaxis.common.constant.SmsTemplateConstants;
 import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.domain.ResponseEnum;
 import com.miaxis.common.sms.Client;
+import com.miaxis.common.utils.RedisPrefixUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import java.net.URLEncoder;
-import java.util.*;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
 import java.util.concurrent.TimeUnit;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -30,8 +33,8 @@ public class SmsServiceImpl implements ISmsService {
 
     private final String MOBILE_REGEX = "^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9])|(19[0-9]))\\d{8}$";//手机号码验证
     private final Integer SMS_MAX_COUNT = 500 ;//每天系统发送最大次数(预留)
-    private final Integer MAX_COUNT = 5 ;//每个手机号验证发送最大次数
-    private final long SEND_INTERVAL = 2 ;//发送间隔时间
+    private final Integer MAX_COUNT = 50 ;//每个手机号验证发送最大次数
+    private final long SEND_INTERVAL = 3 ;//发送间隔时间
 
 
     @Value("${sms_user_name}")
@@ -74,7 +77,22 @@ public class SmsServiceImpl implements ISmsService {
         }
         try{
 
-            //验证手机号
+            //生成redis 验证码key前缀 验证次数key前缀
+            Map<String, String> map = RedisPrefixUtils.smsRedisPrefix(smsParameter.getType(), smsParameter.getPhone());
+            smsParameter.setKeyPrefix(map.get("keyPrefix"));
+            smsParameter.setVerificationCount(map.get("smsKeyCountPrefix"));
+
+            if ("login".equals(smsParameter.getType())){
+                smsParameter.setSmsTemplateConstants(SmsTemplateConstants.login);
+            }
+            if ("signUp".equals(smsParameter.getType())){
+                smsParameter.setSmsTemplateConstants(SmsTemplateConstants.signUp);
+            }
+            if ("modify".equals(smsParameter.getType())){
+                smsParameter.setSmsTemplateConstants(SmsTemplateConstants.modify);
+            }
+
+            //验证缓存信息
             Response resultJson = validateMobile(smsParameter);
             if("500".equals(resultJson.getCode().toString())) {
                 return resultJson;
@@ -145,14 +163,14 @@ public class SmsServiceImpl implements ISmsService {
      */
     private Response validateMobile(SmsParameter smsParameter){
 
-        if(redisTemplate.hasKey(smsParameter.getVerificationCount() + smsParameter.getPhone())){
+        if(redisTemplate.hasKey(smsParameter.getVerificationCount())){
             // 验证发送时间
-            if (redisTemplate.hasKey(smsParameter.getKeyPrefix() + smsParameter.getPhone())){
+            if (redisTemplate.hasKey(smsParameter.getKeyPrefix())){
                 return Response.error(500,"验证码还未过期,不能重新发送!");
             }
 
             // 验证发送次数
-            Integer count = Integer.valueOf(redisTemplate.opsForValue().get(smsParameter.getVerificationCount() + smsParameter.getPhone()).toString());
+            Integer count = Integer.valueOf(redisTemplate.opsForValue().get(smsParameter.getVerificationCount()).toString());
             if(count >= MAX_COUNT) {
                 return Response.error(500,"当前手机号发送验证码次数过多!");
             }
@@ -169,25 +187,25 @@ public class SmsServiceImpl implements ISmsService {
     private void writeCache(String code,SmsParameter smsParameter){
 
         //该手机号首次获取验证码
-        if(!redisTemplate.hasKey(smsParameter.getKeyPrefix() + smsParameter.getPhone()) && !redisTemplate.hasKey(smsParameter.getVerificationCount() + smsParameter.getPhone())){
+        if(!redisTemplate.hasKey(smsParameter.getKeyPrefix()) && !redisTemplate.hasKey(smsParameter.getVerificationCount())){
             synchronized(this){
                 //设置该手机号验证码 两分钟过期
-                redisTemplate.opsForValue().set(smsParameter.getKeyPrefix() + smsParameter.getPhone() , code, SEND_INTERVAL, TimeUnit.MINUTES);
+                redisTemplate.opsForValue().set(smsParameter.getKeyPrefix() , code, SEND_INTERVAL, TimeUnit.MINUTES);
                 //设置该手机号验证次数 一天过期
-                redisTemplate.opsForValue().set(smsParameter.getVerificationCount() + smsParameter.getPhone() , "1",1,TimeUnit.DAYS);
+                redisTemplate.opsForValue().set(smsParameter.getVerificationCount() , "1",1,TimeUnit.DAYS);
             }
         }
 
         //多次获取验证码
-        if (redisTemplate.hasKey(smsParameter.getVerificationCount() + smsParameter.getPhone()) && !redisTemplate.hasKey(smsParameter.getKeyPrefix() + smsParameter.getPhone())){
+        if (redisTemplate.hasKey(smsParameter.getVerificationCount()) && !redisTemplate.hasKey(smsParameter.getKeyPrefix())){
             //判断该手机验证次数
-            Integer count = Integer.valueOf(redisTemplate.opsForValue().get(smsParameter.getVerificationCount() + smsParameter.getPhone()).toString());
+            Integer count = Integer.valueOf(redisTemplate.opsForValue().get(smsParameter.getVerificationCount()).toString());
             if (count < MAX_COUNT){
                 synchronized(this){
                     //该手机号验证次数+1 一天过期
-                    redisTemplate.opsForValue().set(smsParameter.getVerificationCount() + smsParameter.getPhone(),String.valueOf(count+1),1,TimeUnit.DAYS);
+                    redisTemplate.opsForValue().set(smsParameter.getVerificationCount() ,String.valueOf(count+1),1,TimeUnit.DAYS);
                     //设置该手机号验证码 两分钟过期
-                    redisTemplate.opsForValue().set(smsParameter.getKeyPrefix() + smsParameter.getPhone() , code, SEND_INTERVAL, TimeUnit.MINUTES);
+                    redisTemplate.opsForValue().set(smsParameter.getKeyPrefix() , code, SEND_INTERVAL, TimeUnit.MINUTES);
                 }
             }
         }

+ 3 - 0
hzgzpt-service-app/src/main/java/com/miaxis/app/user/dto/UserDto.java

@@ -71,6 +71,9 @@ public class UserDto extends BaseBusinessEntity {
     @ApiModelProperty(value = "人像图片路径")
     private String facesPath;
 
+    @ApiModelProperty(value = "获取短信验证码类型")
+    private String smsCodeType;
+
     @ApiModelProperty(value = "短信验证码")
     private String verificationCode;
 }

+ 1 - 1
hzgzpt-service-app/src/main/java/com/miaxis/app/user/service/IUserInfoService.java

@@ -44,7 +44,7 @@ public interface IUserInfoService extends IService<UserInfo>{
      * @param verificationCode
      * @return
      */
-    Response modifyPhoneNumber(String phone, String verificationCode,SysUser user);
+    Response modifyPhoneNumber(String smsCodeType,String phone, String verificationCode,SysUser user);
 
     /**
      * 保存用户报名信息

+ 16 - 13
hzgzpt-service-app/src/main/java/com/miaxis/app/user/service/impl/UserInfoServiceImpl.java

@@ -19,6 +19,7 @@ import com.miaxis.common.core.domain.Response;
 import com.miaxis.common.core.domain.entity.SysUser;
 import com.miaxis.common.core.domain.entity.UserInfo;
 import com.miaxis.common.utils.DateUtils;
+import com.miaxis.common.utils.RedisPrefixUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
@@ -27,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 用户信息Service业务层处理
@@ -100,14 +102,18 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public Response modifyPhoneNumber(String phone,String verificationCode,SysUser user) {
+    public Response modifyPhoneNumber(String smsCodeType,String phone,String verificationCode,SysUser user) {
+
+        //生成短信缓存前缀
+        Map<String, String> map = RedisPrefixUtils.smsRedisPrefix(smsCodeType,phone);
+
         //查看验证码是否过期
-        if (redisTemplate.hasKey(Constants.SMS_MODIFY_CODE_COUNT + phone) &&
-                !redisTemplate.hasKey(Constants.SMS_MODIFY_CODE + phone)){
+        if (redisTemplate.hasKey(map.get("smsKeyCountPrefix")) &&
+                !redisTemplate.hasKey(map.get("keyPrefix"))){
             return Response.error(500,"验证码已过期,请重新验证!");
         }
         //比对缓存中的验证码
-        String smsCodeValue = redisTemplate.opsForValue().get(Constants.SMS_MODIFY_CODE + phone).toString();
+        String smsCodeValue = redisTemplate.opsForValue().get(map.get("keyPrefix")).toString();
         if (!verificationCode.equals(smsCodeValue)){
             return Response.error(500,"验证码错误,请重新输入");
         }
@@ -131,13 +137,16 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
     public Response saveUserInformation(UserDto userDto) {
         try {
 
+            //生成短信缓存前缀
+            Map<String, String> map = RedisPrefixUtils.smsRedisPrefix(userDto.getSmsCodeType(), userDto.getMobile());
+
             //查看验证码是否过期
-            if (redisTemplate.hasKey(Constants.SMS_SIGNUP_CODE_COUNT + userDto.getMobile()) &&
-                    !redisTemplate.hasKey(Constants.SMS_SIGNUP_CODE + userDto.getMobile())){
+            if (redisTemplate.hasKey(map.get("smsKeyCountPrefix")) &&
+                    !redisTemplate.hasKey(map.get("keyPrefix"))){
                 return Response.error(500,"验证码已过期,请重新验证!");
             }
             //比对缓存中的验证码
-            String smsCodeValue = redisTemplate.opsForValue().get(Constants.SMS_SIGNUP_CODE + userDto.getMobile()).toString();
+            String smsCodeValue = redisTemplate.opsForValue().get(map.get("keyPrefix")).toString();
             if (!userDto.getVerificationCode().equals(smsCodeValue)){
                 return Response.error(500,"验证码错误,请重新输入");
             }
@@ -222,9 +231,6 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
         SmsParameter smsParameter = new SmsParameter();
         smsParameter.setPhone(phone);
         smsParameter.setType(type);
-        smsParameter.setKeyPrefix(Constants.SMS_SIGNUP_CODE);
-        smsParameter.setVerificationCount(Constants.SMS_SIGNUP_CODE_COUNT);
-        smsParameter.setSmsTemplateConstants(SmsTemplateConstants.signUp);
 
         return smsService.sendVerificationCode(smsParameter);
     }
@@ -246,9 +252,6 @@ public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> i
         SmsParameter smsParameter = new SmsParameter();
         smsParameter.setPhone(phone);
         smsParameter.setType(type);
-        smsParameter.setKeyPrefix(Constants.SMS_MODIFY_CODE);
-        smsParameter.setVerificationCount(Constants.SMS_MODIFY_CODE_COUNT);
-        smsParameter.setSmsTemplateConstants(SmsTemplateConstants.modify);
 
         return smsService.sendVerificationCode(smsParameter);
     }

+ 0 - 75
hzgzpt-service-app/src/main/resources/mapper/area/AreaCodeMapper.xml

@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.miaxis.app.area.mapper.AreaCodeMapper">
-    
-    <resultMap type="AreaCode" id="AreaCodeResult">
-        <result property="code"    column="code"    />
-        <result property="name"    column="name"    />
-        <result property="type"    column="type"    />
-        <result property="leaf"    column="leaf"    />
-        <result property="parentCode"    column="parent_code"    />
-    </resultMap>
-
-    <sql id="selectAreaCodeVo">
-        select code, name, type, leaf, parent_code from area_code
-    </sql>
-
-    <select id="selectAreaCodeList" parameterType="AreaCode" resultMap="AreaCodeResult">
-        <include refid="selectAreaCodeVo"/>
-        <where>  
-            <if test="code != null  and code != ''"> and code = #{code}</if>
-            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
-            <if test="type != null  and type != ''"> and type = #{type}</if>
-            <if test="leaf != null  and leaf != ''"> and leaf = #{leaf}</if>
-            <if test="parentCode != null  and parentCode != ''"> and parent_code = #{parentCode}</if>
-        </where>
-    </select>
-    
-    <select id="selectAreaCodeById" parameterType="String" resultMap="AreaCodeResult">
-        <include refid="selectAreaCodeVo"/>
-        where code = #{code}
-    </select>
-        
-    <insert id="insertAreaCode" parameterType="AreaCode">
-        insert into area_code
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="code != null and code != ''">code,</if>
-            <if test="name != null">name,</if>
-            <if test="type != null">type,</if>
-            <if test="leaf != null">leaf,</if>
-            <if test="parentCode != null">parent_code,</if>
-         </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="code != null and code != ''">#{code},</if>
-            <if test="name != null">#{name},</if>
-            <if test="type != null">#{type},</if>
-            <if test="leaf != null">#{leaf},</if>
-            <if test="parentCode != null">#{parentCode},</if>
-         </trim>
-    </insert>
-
-    <update id="updateAreaCode" parameterType="AreaCode">
-        update area_code
-        <trim prefix="SET" suffixOverrides=",">
-            <if test="name != null">name = #{name},</if>
-            <if test="type != null">type = #{type},</if>
-            <if test="leaf != null">leaf = #{leaf},</if>
-            <if test="parentCode != null">parent_code = #{parentCode},</if>
-        </trim>
-        where code = #{code}
-    </update>
-
-    <delete id="deleteAreaCodeById" parameterType="String">
-        delete from area_code where code = #{code}
-    </delete>
-
-    <delete id="deleteAreaCodeByIds" parameterType="String">
-        delete from area_code where code in 
-        <foreach item="code" collection="array" open="(" separator="," close=")">
-            #{code}
-        </foreach>
-    </delete>
-    
-</mapper>