Commit e6570aa2 authored by shiyu's avatar shiyu

藏家权限

parent c4b974a4
...@@ -3,6 +3,7 @@ package com.wwdz.ch.admin.impl; ...@@ -3,6 +3,7 @@ package com.wwdz.ch.admin.impl;
import com.alibaba.dubbo.config.annotation.Reference; import com.alibaba.dubbo.config.annotation.Reference;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.wwdz.ch.admin.service.AdminUserService; import com.wwdz.ch.admin.service.AdminUserService;
import com.wwdz.ch.core.consts.UserEnum;
import com.wwdz.ch.core.type.Result; import com.wwdz.ch.core.type.Result;
import com.wwdz.ch.core.util.ConvertUtil; import com.wwdz.ch.core.util.ConvertUtil;
import com.wwdz.ch.db.dao.CollectorWhiteListDao; import com.wwdz.ch.db.dao.CollectorWhiteListDao;
...@@ -82,6 +83,25 @@ public class AdminUserServiceImpl implements AdminUserService { ...@@ -82,6 +83,25 @@ public class AdminUserServiceImpl implements AdminUserService {
collectorWhiteList.setCollectorId(dto.getId()); collectorWhiteList.setCollectorId(dto.getId());
collectorWhiteList.setIsValid(dto.getFlag() == 1); collectorWhiteList.setIsValid(dto.getFlag() == 1);
collectorWhiteListDao.upsert(collectorWhiteList); collectorWhiteListDao.upsert(collectorWhiteList);
User user = userDao.queryById(dto.getId());
User newUser = new User();
newUser.setId(dto.getId());
newUser.setUpdateTime(new Date());
//开通藏家权限
if (dto.getFlag() == 1) {
if (user.getUserLevel() == UserEnum.LevelEnum.DISTRIBUTOR.getCode()) {
newUser.setUserLevel(UserEnum.LevelEnum.MULTIPLE_ROLE.getCode());
} else {
newUser.setUserLevel(UserEnum.LevelEnum.COLLECTOR.getCode());
}
} else {
if (user.getUserLevel() == UserEnum.LevelEnum.MULTIPLE_ROLE.getCode()) {
newUser.setUserLevel(UserEnum.LevelEnum.DISTRIBUTOR.getCode());
} else {
newUser.setUserLevel(UserEnum.LevelEnum.COMMON.getCode());
}
}
userDao.updateById(newUser);
return Result.success(); return Result.success();
} catch (Exception e) { } catch (Exception e) {
logger.info("修改藏家权限失败error:{}", e); logger.info("修改藏家权限失败error:{}", e);
......
...@@ -47,7 +47,7 @@ public class UserEnum { ...@@ -47,7 +47,7 @@ public class UserEnum {
COMMON(0, "普通用户"), COMMON(0, "普通用户"),
DISTRIBUTOR(1, "分销商"), DISTRIBUTOR(1, "分销商"),
COLLECTOR(2, "藏家"), COLLECTOR(2, "藏家"),
MULTIPLE_ROLE(3, "多身份"), MULTIPLE_ROLE(3, "分销商、藏家"),
; ;
private int code; private int code;
......
...@@ -155,6 +155,11 @@ public class UserServiceImpl implements UserService { ...@@ -155,6 +155,11 @@ public class UserServiceImpl implements UserService {
@Override @Override
public Result finishLogin(UserRequestDto dto) { public Result finishLogin(UserRequestDto dto) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
User userInfo = userDao.queryById(dto.getUserId());
if (userInfo != null && userInfo.getStatus() == UserEnum.StatusEnum.DISABLED.getCode()) {
result.put("disabled", true);
return Result.failed("该账号被冻结");
}
// 先登出其他 // 先登出其他
userTokenManager.removeToken(dto.getUserId()); userTokenManager.removeToken(dto.getUserId());
String token = dto.getToken(); String token = dto.getToken();
...@@ -196,15 +201,19 @@ public class UserServiceImpl implements UserService { ...@@ -196,15 +201,19 @@ public class UserServiceImpl implements UserService {
} }
} }
user.setMobile(phone); user.setMobile(phone);
//保存新登录的用户信息
userDao.insertByMapper(user);
result.put("phone", phone); result.put("phone", phone);
boolean collectorWhiteListFlag = collectorWhiteListDao.isExisted(dto.getUserId());
int userLevel = UserEnum.LevelEnum.COMMON.getCode();
//判断登录用户是否是分销商 //判断登录用户是否是分销商
if (shopWhiteListDao.isExisted(dto.getUserId())) { if (shopWhiteListDao.isExisted(dto.getUserId())) {
ShopWhiteList shopWhiteList = shopWhiteListDao.findByUserId(dto.getUserId()); ShopWhiteList shopWhiteList = shopWhiteListDao.findByUserId(dto.getUserId());
result.put("isShop", true); result.put("isShop", true);
result.put("shopId", shopWhiteList.getShopId() == null ? dto.getUserId() : shopWhiteList.getShopId()); result.put("shopId", shopWhiteList.getShopId() == null ? dto.getUserId() : shopWhiteList.getShopId());
userLevel = UserEnum.LevelEnum.DISTRIBUTOR.getCode();
if (collectorWhiteListFlag) {
userLevel = UserEnum.LevelEnum.MULTIPLE_ROLE.getCode();
}
} else { } else {
try { try {
CloudServerResponse<ShopDTO> cloudServerResponse = shopReadService.getShopByUserId(dto.getUserId(), new ShopQueryOption()); CloudServerResponse<ShopDTO> cloudServerResponse = shopReadService.getShopByUserId(dto.getUserId(), new ShopQueryOption());
...@@ -220,8 +229,16 @@ public class UserServiceImpl implements UserService { ...@@ -220,8 +229,16 @@ public class UserServiceImpl implements UserService {
shopWhiteList.setCreateTime(new Date()); shopWhiteList.setCreateTime(new Date());
shopWhiteList.setIsValid(true); shopWhiteList.setIsValid(true);
shopWhiteListDao.insert(shopWhiteList); shopWhiteListDao.insert(shopWhiteList);
if (collectorWhiteListFlag) {
userLevel = UserEnum.LevelEnum.MULTIPLE_ROLE.getCode();
} else {
userLevel = UserEnum.LevelEnum.DISTRIBUTOR.getCode();
}
} else { } else {
result.put("isShop", false); result.put("isShop", false);
if (collectorWhiteListFlag) {
userLevel = UserEnum.LevelEnum.COLLECTOR.getCode();
}
} }
} else { } else {
result.put("isShop", false); result.put("isShop", false);
...@@ -231,11 +248,15 @@ public class UserServiceImpl implements UserService { ...@@ -231,11 +248,15 @@ public class UserServiceImpl implements UserService {
result.put("isShop", false); result.put("isShop", false);
} }
} }
user.setUserLevel(userLevel);
//更新或插入登录的用户信息
userDao.insertByMapper(user);
// 缓存用户信息 // 缓存用户信息
String userKey = MessageFormat.format(CacheCodeConstants.USER_INFO_KEY, user.getId()); String userKey = MessageFormat.format(CacheCodeConstants.USER_INFO_KEY, user.getId());
redisUtil.set(userKey, user, 2 * 60 * 60); redisUtil.set(userKey, user, 2 * 60 * 60);
//判断用户是否在藏家白名单 //判断用户是否在藏家白名单
if (collectorWhiteListDao.isExisted(dto.getUserId())) { if (collectorWhiteListFlag) {
result.put("isCollector", true); result.put("isCollector", true);
} else { } else {
result.put("isCollector", false); result.put("isCollector", false);
......
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