|
@@ -40,11 +40,10 @@ import java.util.concurrent.TimeUnit;
|
|
|
* Created by owen on 2020/2/19 0019 15:53
|
|
|
*/
|
|
|
//@Api(value = "IndexController",tags = "登录/退出")
|
|
|
-@Api(value = "IndexController",tags = "登录管理")
|
|
|
+@Api(value = "IndexController", tags = "登录管理")
|
|
|
@RestController
|
|
|
@Log4j2
|
|
|
-public class IndexController extends BaseController{
|
|
|
-
|
|
|
+public class IndexController extends BaseController {
|
|
|
|
|
|
|
|
|
@Autowired
|
|
@@ -68,7 +67,7 @@ public class IndexController extends BaseController{
|
|
|
public R login(@RequestBody LoginDto param) throws Exception {
|
|
|
// 1.获取用户
|
|
|
UserEntity user = userService2.findByUserName(param.getUserName());
|
|
|
- if (user == null){
|
|
|
+ if (user == null) {
|
|
|
log.error("用户不存在: {}", param.getUserName());
|
|
|
return new R(MsgCode.e_ADMIN_4001, MsgCode.msg_ADMIN_4001);
|
|
|
}
|
|
@@ -116,11 +115,11 @@ public class IndexController extends BaseController{
|
|
|
@ApiOperation(value = "管理员登录")
|
|
|
@PostMapping(value = "user/login")
|
|
|
@ResponseBody
|
|
|
- public Result userLogin(@RequestBody @ApiParam(name = "用户登录注册实体", value = "传入json格式", required = true) UserLoginVo adminRegisterVo) {
|
|
|
- if(null == adminRegisterVo){
|
|
|
+ public Result userLogin(@RequestBody @ApiParam(name = "用户登录注册实体", value = "传入json格式", required = true) UserLoginVo adminRegisterVo) {
|
|
|
+ if (null == adminRegisterVo) {
|
|
|
throw new CommonBaseException(ResultCodeEnum.D3001);
|
|
|
}
|
|
|
- if(!StringUtils.isNoneBlank(adminRegisterVo.getPhoneNum() , adminRegisterVo.getPassword())){
|
|
|
+ if (!StringUtils.isNoneBlank(adminRegisterVo.getPhoneNum(), adminRegisterVo.getPassword())) {
|
|
|
throw new CommonBaseException(ResultCodeEnum.D3001);
|
|
|
}
|
|
|
adminRegisterVo.setRandomcode("1234");
|
|
@@ -130,90 +129,97 @@ public class IndexController extends BaseController{
|
|
|
String kankanResult = HttpClientUtil.doPostJson(url, json);
|
|
|
//解析返回结果
|
|
|
JSONObject res = JSONObject.parseObject(kankanResult);
|
|
|
- log.info("四维看看返回登录数据:{}" , res.toJSONString());
|
|
|
+ log.info("四维看看返回登录数据:{}", res.toJSONString());
|
|
|
|
|
|
- Result result = parseResult(res , "登录失败" , adminRegisterVo);
|
|
|
- if(result.getCode() == 0){
|
|
|
+ Result result = parseResult(res, "登录失败", adminRegisterVo);
|
|
|
+ if (result.getCode() == 0) {
|
|
|
// 1.获取用户
|
|
|
UserEntity user = userService2.findByPhone(adminRegisterVo.getPhoneNum());
|
|
|
- if (user == null){
|
|
|
+ if (user == null) {
|
|
|
log.error("用户不存在: {}", adminRegisterVo);
|
|
|
throw new CommonBaseException(ResultCodeEnum.D3012);
|
|
|
}
|
|
|
// 检查账号是否启用
|
|
|
if (user.getStatus() != 0) {
|
|
|
log.error("账户已停用,不能登录: {}", adminRegisterVo.getPhoneNum());
|
|
|
- throw new CommonBaseException(ResultCodeEnum.D101 , "用户已经停用");
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101, "用户已经停用");
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
|
|
|
- @Transactional(propagation = Propagation.REQUIRES_NEW,rollbackFor = Exception.class)
|
|
|
- public Result parseResult(JSONObject res , String defaultFailMsg ,UserLoginVo adminRegisterVo){
|
|
|
- if(null != res){
|
|
|
+ @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class)
|
|
|
+ public Result parseResult(JSONObject res, String defaultFailMsg, UserLoginVo adminRegisterVo) {
|
|
|
+ if (null != res) {
|
|
|
int code = -10;
|
|
|
- if(res.containsKey("code")){
|
|
|
+ if (res.containsKey("code")) {
|
|
|
code = (int) res.get("code");
|
|
|
}
|
|
|
String msg = null;
|
|
|
- if(res.containsKey("msg")){
|
|
|
+ if (res.containsKey("msg")) {
|
|
|
msg = (String) res.get("msg");
|
|
|
}
|
|
|
- Map<String , Object> resultMap = new HashMap<>();
|
|
|
- if(0 == code){
|
|
|
- log.info("用户登录成功");
|
|
|
+ Map<String, Object> resultMap = new HashMap<>();
|
|
|
+ if (0 == code) {
|
|
|
+ log.info("用户登录成功");
|
|
|
JSONArray dataObjArray = null;
|
|
|
JSONObject dataObject = null;
|
|
|
String tokenFromKankan = "";
|
|
|
- if(res.get("data") instanceof JSONArray){
|
|
|
+ if (res.get("data") instanceof JSONArray) {
|
|
|
log.info("四维看看登录返回的data是json数组");
|
|
|
dataObjArray = (JSONArray) res.get("data");
|
|
|
- return Result.success( msg , dataObjArray);
|
|
|
- }else if(res.get("data") instanceof JSONObject){
|
|
|
+ return Result.success(msg, dataObjArray);
|
|
|
+ } else if (res.get("data") instanceof JSONObject) {
|
|
|
log.info("四维看看登录返回的data是json object");
|
|
|
//登录返回的就是jsonObject
|
|
|
dataObject = (JSONObject) res.get("data");
|
|
|
- if(null != dataObject){
|
|
|
+ if (null != dataObject) {
|
|
|
JSONObject user = (JSONObject) dataObject.get("user");
|
|
|
tokenFromKankan = dataObject.getString("token");
|
|
|
- if(StringUtils.isBlank(tokenFromKankan)){
|
|
|
- throw new CommonBaseException(ResultCodeEnum.D101 , "四维看看返回的token为空");
|
|
|
+ if (StringUtils.isBlank(tokenFromKankan)) {
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101, "四维看看返回的token为空");
|
|
|
}
|
|
|
- resultMap.put("token" , tokenFromKankan);
|
|
|
- if(null == user){
|
|
|
+ resultMap.put("token", tokenFromKankan);
|
|
|
+ if (null == user) {
|
|
|
log.info("解析不出來user");
|
|
|
- throw new CommonBaseException(ResultCodeEnum.D101 , "解析看看返回的数据失败");
|
|
|
- }else{
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101, "解析看看返回的数据失败");
|
|
|
+ } else {
|
|
|
String nickName = (String) user.get("nickName");
|
|
|
String userName = (String) user.get("userName");
|
|
|
String password = (String) user.get("password");
|
|
|
- if(StringUtils.isBlank(userName)){
|
|
|
- throw new CommonBaseException(ResultCodeEnum.D101 , "看看返回用户名为空");
|
|
|
+ if (StringUtils.isBlank(userName)) {
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101, "看看返回用户名为空");
|
|
|
}
|
|
|
UserEntity dbUser = userService2.findByUserName(userName);
|
|
|
- if(null == dbUser){
|
|
|
- userUtils.addNewUserByPhone(userName , password);
|
|
|
+ if (null == dbUser) {
|
|
|
+ userUtils.addNewUserByPhone(userName, password);
|
|
|
dbUser = userService2.findByUserName(adminRegisterVo.getPhoneNum());
|
|
|
- if(null == dbUser){
|
|
|
- log.error("新插入的用户:{}重新捞取失败" , adminRegisterVo.getPhoneNum());
|
|
|
- throw new CommonBaseException(ResultCodeEnum.D101 , "获取用户失败");
|
|
|
+ if (null == dbUser) {
|
|
|
+ log.error("新插入的用户:{}重新捞取失败", adminRegisterVo.getPhoneNum());
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101, "获取用户失败");
|
|
|
+ }
|
|
|
+ //默认给上传权限
|
|
|
+ userService2.saveUserRole(dbUser.getId(), 2l);
|
|
|
+ } else {
|
|
|
+ if (!StringUtils.equals(dbUser.getRecStatus(), "A")) {
|
|
|
+ log.info("用户[{}]不可用", dbUser.getUserName());
|
|
|
+ throw new CommonBaseException(ResultCodeEnum.D101, "用户已经不可用");
|
|
|
}
|
|
|
- }else{
|
|
|
- if(!StringUtils.equals(dbUser.getRecStatus() , "A")){
|
|
|
- log.info("用户[{}]不可用" , dbUser.getUserName());
|
|
|
- throw new CommonBaseException(ResultCodeEnum.D101 , "用户已经不可用");
|
|
|
+ Set<String> roles = userService2.findRoleByUserId(dbUser.getId());
|
|
|
+ if (null == roles || !roles.contains("upload")) {
|
|
|
+ //默认给上传权限
|
|
|
+ userService2.saveUserRole(dbUser.getId(), 2l);
|
|
|
}
|
|
|
}
|
|
|
- resultMap.put("user" , dbUser);
|
|
|
+ resultMap.put("user", dbUser);
|
|
|
}
|
|
|
}
|
|
|
- return Result.success( msg , resultMap);
|
|
|
- }else{
|
|
|
- return Result.failure( "四维看看返回数据测试异常");
|
|
|
+ return Result.success(msg, resultMap);
|
|
|
+ } else {
|
|
|
+ return Result.failure("四维看看返回数据测试异常");
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
return Result.failure(msg);
|
|
|
}
|
|
|
}
|
|
@@ -266,7 +272,7 @@ public class IndexController extends BaseController{
|
|
|
|
|
|
// 3.保存用户
|
|
|
UserEntity user = userService2.findByPhone(phone);
|
|
|
- // 注册用户
|
|
|
+ // 注册用户
|
|
|
if (user == null) {
|
|
|
user = new UserEntity();
|
|
|
// 新用户,用户名就是手机号
|
|
@@ -304,7 +310,7 @@ public class IndexController extends BaseController{
|
|
|
* 四维看房:SMS_184616399
|
|
|
*
|
|
|
*/
|
|
|
- SmsService.sendSms(phone,"{\"code\":\"" + num + "\"}", "SMS_184616399");
|
|
|
+ SmsService.sendSms(phone, "{\"code\":\"" + num + "\"}", "SMS_184616399");
|
|
|
|
|
|
// 更新到 redis, 有效期5分钟, 旧token无效
|
|
|
redisTemplate.opsForValue().set(phone, String.valueOf(num), Long.parseLong("360"), TimeUnit.SECONDS);
|
|
@@ -313,7 +319,7 @@ public class IndexController extends BaseController{
|
|
|
}
|
|
|
|
|
|
@GetMapping("test")
|
|
|
- public String test(){
|
|
|
+ public String test() {
|
|
|
return LocalDateTime.now().toString();
|
|
|
}
|
|
|
|