优化: 移动端接入sa-token权限管理依赖

This commit is contained in:
TinyAnts
2023-03-13 18:59:28 +08:00
parent 546889cf6f
commit 3a6f6bef97
38 changed files with 435 additions and 319 deletions

View File

@@ -1,6 +1,6 @@
package com.mdd.admin;
import com.mdd.common.util.ArrayUtils;
import com.mdd.common.util.ListUtils;
import java.util.Collections;
import java.util.LinkedHashMap;
@@ -60,7 +60,7 @@ public class LikeAdminThreadLocal {
if (roleIds.equals("") || roleIds.equals("0")) {
return Collections.emptyList();
}
return ArrayUtils.stringToListAsInt(roleIds, ",");
return ListUtils.stringToListAsInt(roleIds, ",");
}
/**

View File

@@ -0,0 +1,31 @@
package com.mdd.admin.cache;
import com.mdd.common.util.*;
/**
* 验证码缓存器
*/
public class CaptchaCache {
public static String get(String uuid) {
String ip = IpUtils.getIpAddress().replaceAll("\\.", "");
String captchaKey = YmlUtils.get("like.captcha.token") + ip + ":" + uuid;
Object code = RedisUtils.get(captchaKey);
if (StringUtils.isNull(code) || StringUtils.isEmpty(code.toString())) {
return "";
}
RedisUtils.del(captchaKey);
return code.toString();
}
public static void set(String code, String uuid) {
String ip = IpUtils.getIpAddress().replaceAll("\\.", "");
String verifyKey = YmlUtils.get("like.captcha.token") + ip + ":" + uuid;
long expireTime = Long.parseLong(YmlUtils.get("like.captcha.expire"));
RedisUtils.set(verifyKey, code.toLowerCase(), expireTime);
}
}

View File

@@ -87,7 +87,7 @@ public class AlbumsServiceImpl implements IAlbumsService {
vo.setPath(album.getUri());
}
vo.setUri(UrlUtils.toAbsoluteUrl(album.getUri()));
vo.setSize(ToolsUtils.storageUnit(album.getSize()));
vo.setSize(ToolUtils.storageUnit(album.getSize()));
vo.setCreateTime(TimeUtils.timestampToDate(album.getCreateTime()));
vo.setUpdateTime(TimeUtils.timestampToDate(album.getUpdateTime()));
list.add(vo);
@@ -234,7 +234,7 @@ public class AlbumsServiceImpl implements IAlbumsService {
}
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(lists));
return ArrayUtils.listToTree(jsonArray, "id", "pid", "children");
return ListUtils.listToTree(jsonArray, "id", "pid", "children");
}
/**

View File

@@ -48,7 +48,7 @@ public class ChannelOaMenusServiceImpl implements IChannelOaMenusService {
List<Map<String, String>> params = new LinkedList<>();
for (Object o : objs) {
params.add(ToolsUtils.objectToMap(o));
params.add(MapUtils.objectToMap(o));
}
List<WxMenuButton> menuButtons = new LinkedList<>();
@@ -79,7 +79,7 @@ public class ChannelOaMenusServiceImpl implements IChannelOaMenusService {
// 子级菜单
if (Integer.parseInt(item.get("menuType")) == 2) {
Assert.notNull(item.get("subButtons"), "子级菜单不能为空");
List<Map<String, String>> subButtons = ArrayUtils.stringToListAsMapStr(item.get("subButtons"));
List<Map<String, String>> subButtons = ListUtils.stringToListAsMapStr(item.get("subButtons"));
if (subButtons.size() > 5) {
throw new OperateException("子级菜单超出限制(最多5个)");

View File

@@ -54,7 +54,7 @@ public class DecorateTabbarServiceImpl implements IDecorateTabbarService {
String tabbar = ConfigUtils.get("tabbar", "style", "{}");
DecorateTabbarVo response = new DecorateTabbarVo();
response.setStyle(ToolsUtils.jsonToMap(tabbar));
response.setStyle(MapUtils.jsonToMap(tabbar));
response.setList(tabList);
return response;
}

View File

@@ -77,7 +77,7 @@ public class IndexServiceImpl implements IIndexService {
map.put("webFavicon", UrlUtils.toAbsoluteUrl(website.getOrDefault("favicon", "")));
map.put("webBackdrop", UrlUtils.toAbsoluteUrl(website.getOrDefault("backdrop", "")));
map.put("ossDomain", UrlUtils.domain());
map.put("copyright", ArrayUtils.stringToListAsMapStr(copyright));
map.put("copyright", ListUtils.stringToListAsMapStr(copyright));
return map;
}

View File

@@ -4,7 +4,7 @@ import com.alibaba.fastjson2.JSON;
import com.mdd.admin.service.ISettingCopyrightService;
import com.mdd.admin.validate.setting.SettingCopyrightValidate;
import com.mdd.admin.vo.setting.SettingCopyrightVo;
import com.mdd.common.util.ArrayUtils;
import com.mdd.common.util.ListUtils;
import com.mdd.common.util.ConfigUtils;
import org.springframework.stereotype.Service;
@@ -25,7 +25,7 @@ public class SettingCopyrightServiceImpl implements ISettingCopyrightService {
@Override
public List<SettingCopyrightVo> detail() {
String config = ConfigUtils.get("website", "copyright", "[]");
List<Map<String, String>> copyright = ArrayUtils.stringToListAsMapStr(config);
List<Map<String, String>> copyright = ListUtils.stringToListAsMapStr(config);
List<SettingCopyrightVo> list = new LinkedList<>();
for (Map<String, String> map : copyright) {

View File

@@ -3,7 +3,7 @@ package com.mdd.admin.service.impl;
import com.mdd.admin.service.ISettingLoginService;
import com.mdd.admin.validate.setting.SettingLoginValidate;
import com.mdd.admin.vo.setting.SettingLoginVo;
import com.mdd.common.util.ArrayUtils;
import com.mdd.common.util.ListUtils;
import com.mdd.common.util.ConfigUtils;
import org.springframework.stereotype.Service;
@@ -26,11 +26,11 @@ public class SettingLoginServiceImpl implements ISettingLoginService {
Map<String, String> config = ConfigUtils.get("login");
SettingLoginVo vo = new SettingLoginVo();
vo.setLoginWay(ArrayUtils.stringToListAsInt(config.getOrDefault("loginWay", ""), ","));
vo.setLoginWay(ListUtils.stringToListAsInt(config.getOrDefault("loginWay", ""), ","));
vo.setForceBindMobile(Integer.parseInt(config.getOrDefault("forceBindMobile", "0")));
vo.setOpenAgreement(Integer.parseInt(config.getOrDefault("openAgreement", "0")));
vo.setOpenOtherAuth(Integer.parseInt(config.getOrDefault("openOtherAuth", "0")));
vo.setAutoLoginAuth(ArrayUtils.stringToListAsInt(config.getOrDefault("autoLoginAuth", ""), ","));
vo.setAutoLoginAuth(ListUtils.stringToListAsInt(config.getOrDefault("autoLoginAuth", ""), ","));
return vo;
}

View File

@@ -7,9 +7,9 @@ import com.mdd.admin.vo.setting.SettingNoticeDetailVo;
import com.mdd.admin.vo.setting.SettingNoticeListedVo;
import com.mdd.common.entity.notice.NoticeSetting;
import com.mdd.common.mapper.notice.NoticeSettingMapper;
import com.mdd.common.util.MapUtils;
import com.mdd.common.util.StringUtils;
import com.mdd.common.util.TimeUtils;
import com.mdd.common.util.ToolsUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -47,10 +47,10 @@ public class SettingNoticeServiceImpl implements ISettingNoticeService {
SettingNoticeListedVo vo = new SettingNoticeListedVo();
BeanUtils.copyProperties(n, vo);
Map<String, String> systemMap = ToolsUtils.jsonToMap(n.getSystemNotice());
Map<String, String> smsMap = ToolsUtils.jsonToMap(n.getSmsNotice());
Map<String, String> oaMap = ToolsUtils.jsonToMap(n.getOaNotice());
Map<String, String> mnpMap = ToolsUtils.jsonToMap(n.getMnpNotice());
Map<String, String> systemMap = MapUtils.jsonToMap(n.getSystemNotice());
Map<String, String> smsMap = MapUtils.jsonToMap(n.getSmsNotice());
Map<String, String> oaMap = MapUtils.jsonToMap(n.getOaNotice());
Map<String, String> mnpMap = MapUtils.jsonToMap(n.getMnpNotice());
vo.setType(n.getType()==1?"业务通知":"验证码");
vo.setSystemStatus(Integer.parseInt(systemMap.getOrDefault("status", "0")));
@@ -86,10 +86,10 @@ public class SettingNoticeServiceImpl implements ISettingNoticeService {
.eq("is_delete", 0)
.last("limit 1"));
Map<String, Object> systemMap = ToolsUtils.jsonToMapAsObj(noticeSetting.getSystemNotice());
Map<String, Object> oaMap = ToolsUtils.jsonToMapAsObj(noticeSetting.getOaNotice());
Map<String, Object> mnpMap = ToolsUtils.jsonToMapAsObj(noticeSetting.getMnpNotice());
Map<String, Object> smsMap = ToolsUtils.jsonToMapAsObj(noticeSetting.getSmsNotice());
Map<String, Object> systemMap = MapUtils.jsonToMapAsObj(noticeSetting.getSystemNotice());
Map<String, Object> oaMap = MapUtils.jsonToMapAsObj(noticeSetting.getOaNotice());
Map<String, Object> mnpMap = MapUtils.jsonToMapAsObj(noticeSetting.getMnpNotice());
Map<String, Object> smsMap = MapUtils.jsonToMapAsObj(noticeSetting.getSmsNotice());
smsMap.put("tips", JSON.parseArray(smsMap.get("tips").toString()));
@@ -117,8 +117,8 @@ public class SettingNoticeServiceImpl implements ISettingNoticeService {
.eq("is_delete", 0)
.last("limit 1"));
Map<String, String> systemParam = ToolsUtils.objectToMap(params.get("systemNotice"));
Map<String, String> systemMap = ToolsUtils.jsonToMap(noticeSetting.getSystemNotice());
Map<String, String> systemParam = MapUtils.objectToMap(params.get("systemNotice"));
Map<String, String> systemMap = MapUtils.jsonToMap(noticeSetting.getSystemNotice());
if (StringUtils.isNotEmpty(systemMap)) {
systemMap.put("title", systemParam.getOrDefault("title", ""));
systemMap.put("content", systemParam.getOrDefault("content", ""));
@@ -126,8 +126,8 @@ public class SettingNoticeServiceImpl implements ISettingNoticeService {
systemMap.put("status", systemParam.getOrDefault("status", "0"));
}
Map<String, String> smsParam = ToolsUtils.objectToMap(params.get("smsNotice"));
Map<String, String> smsMap = ToolsUtils.jsonToMap(noticeSetting.getSmsNotice());
Map<String, String> smsParam = MapUtils.objectToMap(params.get("smsNotice"));
Map<String, String> smsMap = MapUtils.jsonToMap(noticeSetting.getSmsNotice());
if (StringUtils.isNotEmpty(smsMap)) {
smsMap.put("templateId", smsParam.getOrDefault("templateId", ""));
smsMap.put("content", smsParam.getOrDefault("content", ""));
@@ -135,8 +135,8 @@ public class SettingNoticeServiceImpl implements ISettingNoticeService {
smsMap.put("status", smsParam.getOrDefault("status", "0"));
}
Map<String, String> oaParam = ToolsUtils.objectToMap(params.get("oaNotice"));
Map<String, String> oaMap = ToolsUtils.jsonToMap(noticeSetting.getOaNotice());
Map<String, String> oaParam = MapUtils.objectToMap(params.get("oaNotice"));
Map<String, String> oaMap = MapUtils.jsonToMap(noticeSetting.getOaNotice());
if (StringUtils.isNotEmpty(oaMap)) {
oaMap.put("name", oaParam.getOrDefault("name", ""));
oaMap.put("first", oaParam.getOrDefault("first", ""));
@@ -148,8 +148,8 @@ public class SettingNoticeServiceImpl implements ISettingNoticeService {
oaMap.put("status", oaParam.getOrDefault("status", "0"));
}
Map<String, String> mnpParam = ToolsUtils.objectToMap(params.get("mnpNotice"));
Map<String, String> mnpMap = ToolsUtils.jsonToMap(noticeSetting.getMnpNotice());
Map<String, String> mnpParam = MapUtils.objectToMap(params.get("mnpNotice"));
Map<String, String> mnpMap = MapUtils.jsonToMap(noticeSetting.getMnpNotice());
if (StringUtils.isNotEmpty(mnpParam)) {
mnpMap.put("templateId", mnpParam.get("templateId"));
mnpMap.put("templateSn", mnpParam.get("templateSn"));

View File

@@ -6,7 +6,7 @@ import com.mdd.admin.validate.setting.SettingProtocolValidate;
import com.mdd.admin.vo.setting.SettingProtocolDetailVo;
import com.mdd.admin.vo.setting.SettingProtocolObjectVo;
import com.mdd.common.util.ConfigUtils;
import com.mdd.common.util.ToolsUtils;
import com.mdd.common.util.MapUtils;
import org.springframework.stereotype.Service;
import java.util.Map;
@@ -27,8 +27,8 @@ public class SettingProtocolServiceImpl implements ISettingProtocolService {
public SettingProtocolDetailVo detail() {
String service = ConfigUtils.get("protocol", "service", "{\"name\":\"\",\"content\":\"\"}");
String privacy = ConfigUtils.get("protocol", "privacy", "{\"name\":\"\",\"content\":\"\"}");
Map<String, String> serviceMap = ToolsUtils.jsonToMap(service);
Map<String, String> privacyMap = ToolsUtils.jsonToMap(privacy);
Map<String, String> serviceMap = MapUtils.jsonToMap(service);
Map<String, String> privacyMap = MapUtils.jsonToMap(privacy);
SettingProtocolObjectVo serviceObj = new SettingProtocolObjectVo();
serviceObj.setName(serviceMap.getOrDefault("name", ""));

View File

@@ -92,7 +92,7 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
vo.setRole("系统管理员");
} else {
List<String> role = new LinkedList<>();
List<Integer> roleIds = ArrayUtils.stringToListAsInt(vo.getRole(), ",");
List<Integer> roleIds = ListUtils.stringToListAsInt(vo.getRole(), ",");
if (!roleIds.isEmpty()) {
List<SystemAuthRole> roleList = systemAuthRoleMapper.selectList(new QueryWrapper<SystemAuthRole>()
.select("id,name")
@@ -101,14 +101,14 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
role.add(d.getName());
}
}
vo.setRole(ArrayUtils.listToStringByStr(role, "/"));
vo.setRole(ListUtils.listToStringByStr(role, "/"));
}
if (StringUtils.isNull(vo.getDept()) || vo.getDept().equals("")) {
vo.setDept("");
} else {
List<String> dept = new LinkedList<>();
List<Integer> deptIds = ArrayUtils.stringToListAsInt(vo.getDept(), ",");
List<Integer> deptIds = ListUtils.stringToListAsInt(vo.getDept(), ",");
if (!deptIds.isEmpty()) {
List<SystemAuthDept> deptList = systemAuthDeptMapper.selectList(new QueryWrapper<SystemAuthDept>()
.select("id,name")
@@ -118,7 +118,7 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
dept.add(d.getName());
}
}
vo.setDept(ArrayUtils.listToStringByStr(dept, "/"));
vo.setDept(ListUtils.listToStringByStr(dept, "/"));
}
vo.setAvatar(UrlUtils.toAbsoluteUrl(vo.getAvatar()));
@@ -160,7 +160,7 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
// 角色权限
List<String> auths = new LinkedList<>();
if (adminId > 1) {
List<Integer> roleIds = ArrayUtils.stringToListAsInt(sysAdmin.getRoleIds(), ",");
List<Integer> roleIds = ListUtils.stringToListAsInt(sysAdmin.getRoleIds(), ",");
List<Integer> menuIds = iSystemAuthPermService.selectMenuIdsByRoleId(roleIds);
if (menuIds.size() > 0) {
List<SystemAuthMenu> systemAuthMenus = systemAuthMenuMapper.selectList(new QueryWrapper<SystemAuthMenu>()
@@ -215,9 +215,9 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
SystemAuthAdminDetailVo vo = new SystemAuthAdminDetailVo();
BeanUtils.copyProperties(sysAdmin, vo);
vo.setRoleIds(ArrayUtils.stringToListAsInt(sysAdmin.getRoleIds(), ","));
vo.setDeptIds(ArrayUtils.stringToListAsInt(sysAdmin.getDeptIds(), ","));
vo.setPostIds(ArrayUtils.stringToListAsInt(sysAdmin.getPostIds(), ","));
vo.setRoleIds(ListUtils.stringToListAsInt(sysAdmin.getRoleIds(), ","));
vo.setDeptIds(ListUtils.stringToListAsInt(sysAdmin.getDeptIds(), ","));
vo.setPostIds(ListUtils.stringToListAsInt(sysAdmin.getPostIds(), ","));
vo.setAvatar(UrlUtils.toAbsoluteUrl(sysAdmin.getAvatar()));
vo.setCreateTime(TimeUtils.timestampToDate(sysAdmin.getCreateTime()));
vo.setUpdateTime(TimeUtils.timestampToDate(sysAdmin.getUpdateTime()));
@@ -246,17 +246,17 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
.eq("nickname", createValidate.getNickname())
.last("limit 1")), "昵称已存在换一个吧!");
String salt = ToolsUtils.randomString(5);
String pwd = ToolsUtils.makeMd5(createValidate.getPassword().trim() + salt);
String salt = ToolUtils.randomString(5);
String pwd = ToolUtils.makeMd5(createValidate.getPassword().trim() + salt);
String createAvatar = createValidate.getAvatar();
String defaultAvatar = "/api/static/backend_avatar.png";
String avatar = StringUtils.isNotEmpty(createValidate.getAvatar()) ? UrlUtils.toRelativeUrl(createAvatar) : defaultAvatar;
SystemAuthAdmin model = new SystemAuthAdmin();
model.setRoleIds(ArrayUtils.listToStringByInt(createValidate.getRoleIds(), ","));
model.setDeptIds(ArrayUtils.listToStringByInt(createValidate.getDeptIds(), ","));
model.setPostIds(ArrayUtils.listToStringByInt(createValidate.getPostIds(), ","));
model.setRoleIds(ListUtils.listToStringByInt(createValidate.getRoleIds(), ","));
model.setDeptIds(ListUtils.listToStringByInt(createValidate.getDeptIds(), ","));
model.setPostIds(ListUtils.listToStringByInt(createValidate.getPostIds(), ","));
model.setUsername(createValidate.getUsername());
model.setNickname(createValidate.getNickname());
model.setAvatar(avatar);
@@ -306,9 +306,9 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
SystemAuthAdmin model = new SystemAuthAdmin();
model.setId(updateValidate.getId());
model.setRoleIds(ArrayUtils.listToStringByInt(updateValidate.getRoleIds(), ","));
model.setDeptIds(ArrayUtils.listToStringByInt(updateValidate.getDeptIds(), ","));
model.setPostIds(ArrayUtils.listToStringByInt(updateValidate.getPostIds(), ","));
model.setRoleIds(ListUtils.listToStringByInt(updateValidate.getRoleIds(), ","));
model.setDeptIds(ListUtils.listToStringByInt(updateValidate.getDeptIds(), ","));
model.setPostIds(ListUtils.listToStringByInt(updateValidate.getPostIds(), ","));
model.setNickname(updateValidate.getNickname());
model.setAvatar(UrlUtils.toRelativeUrl(updateValidate.getAvatar()));
model.setSort(updateValidate.getSort());
@@ -321,8 +321,8 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
}
if (StringUtils.isNotNull(updateValidate.getPassword()) && StringUtils.isNotEmpty(updateValidate.getPassword())) {
String salt = ToolsUtils.randomString(5);
String pwd = ToolsUtils.makeMd5( updateValidate.getPassword().trim() + salt);
String salt = ToolUtils.randomString(5);
String pwd = ToolUtils.makeMd5( updateValidate.getPassword().trim() + salt);
model.setPassword(pwd);
model.setSalt(salt);
}
@@ -358,10 +358,10 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
model.setUpdateTime(System.currentTimeMillis() / 1000);
if (StringUtils.isNotNull(upInfoValidate.getPassword()) && StringUtils.isNotEmpty(upInfoValidate.getPassword())) {
String currPassword = ToolsUtils.makeMd5(upInfoValidate.getCurrPassword() + model.getSalt());
String currPassword = ToolUtils.makeMd5(upInfoValidate.getCurrPassword() + model.getSalt());
Assert.isFalse(!currPassword.equals(model.getPassword()), "当前密码不正确!");
String salt = ToolsUtils.randomString(5);
String pwd = ToolsUtils.makeMd5( upInfoValidate.getPassword().trim() + salt);
String salt = ToolUtils.randomString(5);
String pwd = ToolUtils.makeMd5( upInfoValidate.getPassword().trim() + salt);
model.setPassword(pwd);
model.setSalt(salt);
}

View File

@@ -12,7 +12,7 @@ import com.mdd.common.entity.system.SystemAuthAdmin;
import com.mdd.common.entity.system.SystemAuthDept;
import com.mdd.common.mapper.system.SystemAuthAdminMapper;
import com.mdd.common.mapper.system.SystemAuthDeptMapper;
import com.mdd.common.util.ArrayUtils;
import com.mdd.common.util.ListUtils;
import com.mdd.common.util.TimeUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -92,7 +92,7 @@ class SystemAuthDeptServiceImpl implements ISystemAuthDeptService {
}
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(list));
return ArrayUtils.listToTree(jsonArray, "id", "pid", "children");
return ListUtils.listToTree(jsonArray, "id", "pid", "children");
}
/**

View File

@@ -11,7 +11,7 @@ import com.mdd.admin.validate.system.SystemMenuUpdateValidate;
import com.mdd.admin.vo.system.SystemAuthMenuVo;
import com.mdd.common.entity.system.SystemAuthMenu;
import com.mdd.common.mapper.system.SystemAuthMenuMapper;
import com.mdd.common.util.ArrayUtils;
import com.mdd.common.util.ListUtils;
import com.mdd.common.util.TimeUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -70,7 +70,7 @@ public class SystemAuthMenuServiceImpl implements ISystemAuthMenuService {
}
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(lists));
return ArrayUtils.listToTree(jsonArray, "id", "pid", "children");
return ListUtils.listToTree(jsonArray, "id", "pid", "children");
}
/**
@@ -98,7 +98,7 @@ public class SystemAuthMenuServiceImpl implements ISystemAuthMenuService {
}
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(lists));
return ArrayUtils.listToTree(jsonArray, "id", "pid", "children");
return ListUtils.listToTree(jsonArray, "id", "pid", "children");
}
/**

View File

@@ -2,7 +2,7 @@ package com.mdd.admin.service.impl;
import cn.dev33.satoken.stp.StpUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.mdd.admin.service.ISystemAuthAdminService;
import com.mdd.admin.cache.CaptchaCache;
import com.mdd.admin.service.ISystemLoginService;
import com.mdd.admin.validate.system.SystemAdminLoginsValidate;
import com.mdd.admin.vo.system.SystemCaptchaVo;
@@ -45,10 +45,6 @@ public class SystemLoginServiceImpl implements ISystemLoginService {
@Resource
SystemAuthAdminMapper systemAuthAdminMapper;
@Resource
ISystemAuthAdminService iSystemAuthAdminService;
private static final Logger log = LoggerFactory.getLogger(SystemLoginServiceImpl.class);
/**
@@ -62,15 +58,11 @@ public class SystemLoginServiceImpl implements ISystemLoginService {
// 验证码信息
String capStr, code;
BufferedImage image;
String uuid = ToolsUtils.makeUUID();
String ip = IpUtils.getIpAddress().replaceAll("\\.", "");
String verifyKey = YmlUtils.get("like.captcha.token") + ip + ":" + uuid;
long expireTime = Long.parseLong(YmlUtils.get("like.captcha.expire"));
String uuid = ToolUtils.makeUUID();
// 生成验证码
capStr = code = captchaProducer.createText();
image = captchaProducer.createImage(capStr);
RedisUtils.set(verifyKey, code.toLowerCase(), expireTime);
FastByteArrayOutputStream os = new FastByteArrayOutputStream();
try {
ImageIO.write(image, "jpg", os);
@@ -79,6 +71,9 @@ public class SystemLoginServiceImpl implements ISystemLoginService {
throw new OperateException(e.getMessage());
}
// 缓存验证码
CaptchaCache.set(code, uuid);
// 返回验证码
String base64 = "data:image/jpeg;base64,"+ Base64Util.encode(os.toByteArray());
SystemCaptchaVo vo = new SystemCaptchaVo();
@@ -103,11 +98,9 @@ public class SystemLoginServiceImpl implements ISystemLoginService {
if (StringUtils.isNotNull(captchaStatus) && captchaStatus.equals("true")) {
Assert.notNull(loginsValidate.getCode(), "code参数缺失");
Assert.notNull(loginsValidate.getUuid(), "uuid参数缺失");
String ip = IpUtils.getIpAddress().replaceAll("\\.", "");
String captchaKey = YmlUtils.get("like.captcha.token") + ip + ":" + loginsValidate.getUuid();
Object code = RedisUtils.get(captchaKey);
RedisUtils.del(captchaKey);
if (StringUtils.isNull(code) || StringUtils.isEmpty(code.toString()) || !loginsValidate.getCode().equals(code.toString())) {
String code = CaptchaCache.get(loginsValidate.getUuid());
if (!loginsValidate.getCode().equals(code)) {
throw new LoginException(HttpEnum.CAPTCHA_ERROR.getCode(), HttpEnum.CAPTCHA_ERROR.getMsg());
}
}
@@ -127,7 +120,7 @@ public class SystemLoginServiceImpl implements ISystemLoginService {
}
String newPWd = password + sysAdmin.getSalt();
String md5Pwd = ToolsUtils.makeMd5(newPWd);
String md5Pwd = ToolUtils.makeMd5(newPWd);
if (!md5Pwd.equals(sysAdmin.getPassword())) {
this.recordLoginLog(sysAdmin.getId(), loginsValidate.getUsername(), HttpEnum.LOGIN_ACCOUNT_ERROR.getMsg());
throw new LoginException(HttpEnum.LOGIN_ACCOUNT_ERROR.getCode(), HttpEnum.LOGIN_ACCOUNT_ERROR.getMsg());