Commit 6161435a by giaogiao

app修改手机号

parent 69fb6e8e
......@@ -41,5 +41,16 @@ public class AppSmsController extends BaseController {
return appSmsService.registerOrLoginCode(phoneArea, phone);
}
/**
* 获取修改手机号的验证码
*/
@GetMapping("/updatePhoneCode")
@OperationLog(name = "获取修改手机号的验证码", type = OperationLogType.INFO)
@ApiOperation(value = "获取修改手机号的验证码", response = Object.class, notes = "本地环境默认666666")
public ApiResult<Object> updatePhoneCode() throws Exception {
return appSmsService.updatePhoneCode();
}
}
......@@ -19,6 +19,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
......@@ -41,7 +42,7 @@ public class AppUserController extends BaseController {
private AppUserApiService appUserApiService;
/**
* 添加APP用户
* 补充或修改APP用户信息
*/
@PostMapping("/updateAppUserInfo")
@OperationLog(name = "补充或修改APP用户信息", type = OperationLogType.ADD)
......@@ -51,6 +52,17 @@ public class AppUserController extends BaseController {
return ApiResult.result(flag);
}
/**
* 修改手机号
*/
@PostMapping("/updatePhone")
@OperationLog(name = "修改手机号", type = OperationLogType.ADD)
@ApiOperation(value = "修改手机号", response = ApiResult.class)
public ApiResult<Boolean> updatePhone(@RequestParam String phoneArea, @RequestParam String phone, @RequestParam String code) throws Exception {
return appUserApiService.updatePhone(phoneArea, phone, code);
}
/* *//**
* 添加APP用户
*//*
......
......@@ -5,11 +5,14 @@ import io.geekidea.springbootplus.framework.common.api.ApiResult;
public interface AppSmsService {
void deleteRegisterCode(String area, String number);
void deleteUpdatePhoneCode(String area, String number);
/**
* 获取注册验证码
*/
ApiResult<Object> registerOrLoginCode(String phoneArea, String phone);
ApiResult<Object> updatePhoneCode() throws Exception;
/**
* 获取注册验证码
......@@ -25,6 +28,7 @@ public interface AppSmsService {
* @return
*/
boolean equalsRegisterCode(String area, String number, String code);
boolean equalsUpdatePhoneCode(String area, String number, String code);
/**
* 校验验登陆证码
......
......@@ -25,4 +25,7 @@ public interface AppUserApiService {
*/
boolean updateAppUser(AppUserInfoParam appUserInfoParam) throws Exception;
ApiResult<Boolean> updatePhone(String phoneArea, String phone,String code) throws Exception;
}
......@@ -3,8 +3,12 @@ package com.jumeirah.api.app.service.impl;
import cn.hutool.core.util.RandomUtil;
import com.jumeirah.api.app.service.AppSmsService;
import com.jumeirah.api.app.vo.SmsCode;
import com.jumeirah.common.service.AppUserService;
import com.jumeirah.common.vo.AppUserQueryVo;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.shiro.jwt.JwtToken;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
......@@ -16,6 +20,8 @@ import java.util.Arrays;
@Service
@Slf4j
public class AppSmsServiceImpl implements AppSmsService {
@Autowired
private AppUserService appUserService;
/**
* 获取当前环境
......@@ -37,14 +43,18 @@ public class AppSmsServiceImpl implements AppSmsService {
private static final String DEFAULT_DEV_SMS_CODE = "666666";
/**
* 短信验证码redis的key值
* 注册 短信验证码redis的key值
*/
private static final String SMS_REGIEST = "sms:app:register:%s_%s";
/**
* 修改 短信验证码redis的key值
*/
private static final String SMS_REGIEST = "sms:register:%s_%s";
private static final String SMS_UPDATE = "sms:app:update:%s_%s";
/**
* 短信验证码redis的key值
*/
private static final String SMS_LOGIN = "sms:login:%s_%s";
private static final String SMS_LOGIN = "sms:app:login:%s_%s";
@Override
public void deleteRegisterCode(String area, String number) {
......@@ -52,10 +62,25 @@ public class AppSmsServiceImpl implements AppSmsService {
}
@Override
public void deleteUpdatePhoneCode(String area, String number) {
redisTemplate.delete(String.format(SMS_UPDATE, area, number));
}
@Override
public ApiResult<Object> registerOrLoginCode(String area, String number) {
return getSmsCodeApiResult(String.format(SMS_REGIEST, area, number), area, number);
}
@Override
public ApiResult<Object> updatePhoneCode() throws Exception {
JwtToken jwtToken = (JwtToken) SecurityUtils.getSubject().getPrincipal();
AppUserQueryVo appUserById = appUserService.getAppUserById(jwtToken.getUserId());
return getSmsCodeApiResult(String.format(SMS_UPDATE, appUserById.getPhoneArea(), appUserById.getPhone()), appUserById.getPhoneArea(), appUserById.getPhone());
}
private ApiResult<Object> getSmsCodeApiResult(String key, String area, String number) {
String randomCode = getRandomCode();
......@@ -85,6 +110,11 @@ public class AppSmsServiceImpl implements AppSmsService {
return equalsSms(SMS_REGIEST, area, number, code);
}
@Override
public boolean equalsUpdatePhoneCode(String area, String number, String code) {
return equalsSms(SMS_UPDATE, area, number, code);
}
private boolean equalsSms(String type, String area, String number, String code) {
String formatKey = String.format(type, area, number);
......
......@@ -7,6 +7,7 @@ import com.jumeirah.common.entity.AppUser;
import com.jumeirah.common.param.app.AppSmsRegisterParam;
import com.jumeirah.common.param.app.AppUserInfoParam;
import com.jumeirah.common.service.AppUserService;
import com.jumeirah.common.vo.AppUserQueryVo;
import com.jumeirah.common.vo.app.LoginAppUserTokenVo;
import io.geekidea.springbootplus.framework.common.api.ApiCode;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
......@@ -24,6 +25,33 @@ public class AppUserApiServiceImpl implements AppUserApiService {
@Autowired
private AppUserService appUserService;
@Override
public ApiResult<Boolean> updatePhone(String phoneArea, String phone, String code) throws Exception {
JwtToken jwtToken = (JwtToken) SecurityUtils.getSubject().getPrincipal();
AppUserQueryVo appUserById = appUserService.getAppUserById(jwtToken.getUserId());
// 校验验证码
boolean equalsRegisterCode = appSmsService.equalsUpdatePhoneCode(appUserById.getPhoneArea(), appUserById.getPhone(), code);
if (!equalsRegisterCode) {
return ApiResult.fail(ApiCode.SMS_CODE_ERROR);
}
// 删除已使用的验证码
appSmsService.deleteUpdatePhoneCode(appUserById.getPhoneArea(), appUserById.getPhone());
AppUser appUser = new AppUser();
appUser.setPhoneArea(phoneArea);
appUser.setPhone(phone);
appUser.setId(jwtToken.getUserId());
boolean b = appUserService.updateById(appUser);
if (b) {
return ApiResult.ok();
}
return ApiResult.fail();
}
@Override
public ApiResult<LoginAppUserTokenVo> register(AppSmsRegisterParam loginParam, String language) throws Exception {
// 校验验证码
......
package com.jumeirah.api.merchant.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jumeirah.common.entity.MerchantUserPermission;
import com.jumeirah.common.param.MerchantUserPermissionDetailVo;
import com.jumeirah.common.param.MerchantUserPermissionQueryVo;
import com.jumeirah.common.param.MerchantUserPermissionUpdateParam;
import com.jumeirah.common.service.MerchantUserPermissionService;
import io.geekidea.springbootplus.framework.common.api.ApiResult;
import io.geekidea.springbootplus.framework.common.controller.BaseController;
......@@ -14,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
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;
......@@ -37,12 +40,23 @@ public class MerchantUserPermissionController extends BaseController {
/**
* 查询商家用户权限详情
*/
@PostMapping("/update/{id}")
@PostMapping("/update")
@OperationLog(name = "修改商家用户权限", type = OperationLogType.INFO)
@ApiOperation(value = "修改商家用户权限")
public ApiResult<MerchantUserPermissionQueryVo> update(@PathVariable("id") Long id) throws Exception {
MerchantUserPermissionQueryVo merchantUserPermissionQueryVo = merchantUserPermissionService.getMerchantUserPermissionById(id);
return ApiResult.ok(merchantUserPermissionQueryVo);
public ApiResult<Boolean> update(@RequestBody MerchantUserPermissionUpdateParam merchantUserPermissionUpdateParam) throws Exception {
// 删除该用户所有权限
merchantUserPermissionService.remove(new QueryWrapper<MerchantUserPermission>()
.lambda().eq(MerchantUserPermission::getUserId, merchantUserPermissionUpdateParam.getUserId()));
// 给管理管设置全部权限
for (Long id : merchantUserPermissionUpdateParam.getPermissionIds()) {
MerchantUserPermission merchantUserPermission = new MerchantUserPermission();
merchantUserPermission.setUserId(merchantUserPermissionUpdateParam.getUserId());
merchantUserPermission.setPermissionId(id);
merchantUserPermission.setState(0);
merchantUserPermissionService.save(merchantUserPermission);
}
return ApiResult.ok();
}
/**
......
package com.jumeirah.common.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* <pre>
* 商家用户权限关系 分页参数对象
* </pre>
*
* @author giao
* @date 2020-10-19
*/
@Data
@Accessors(chain = true)
@ApiModel(value = "MerchantUserPermissionUpdateParam参数")
public class MerchantUserPermissionUpdateParam implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("权限id数组")
List<Long> permissionIds;
@ApiModelProperty("用户id")
private Long userId;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment