Commit e6570aa2 authored by shiyu's avatar shiyu

藏家权限

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