From 9dd4f3549911f1253ccd9b934e8a5a90a7b2ce8c Mon Sep 17 00:00:00 2001
From: liuhaonan <konodioda2333@vip.qq.com>
Date: 星期四, 28 四月 2022 18:24:56 +0800
Subject: [PATCH] 大气数据推送到LED
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java | 109 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 97 insertions(+), 12 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
index 671ed5a..768d3f3 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/AdminService.java
@@ -3,14 +3,19 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.pagehelper.PageHelper;
import com.sandu.common.enums.RoleLevelStatus;
import com.sandu.common.execption.BusinessException;
+import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.param.AdminParam;
import com.sandu.ximon.admin.param.PwdParam;
+import com.sandu.ximon.admin.param.UserPwsParm;
import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.dao.bo.AdminBo;
import com.sandu.ximon.dao.domain.Admin;
import com.sandu.ximon.dao.domain.AdminRoleRelation;
+import com.sandu.ximon.dao.domain.Client;
import com.sandu.ximon.dao.domain.Role;
import com.sandu.ximon.dao.mapper.AdminMapper;
import lombok.AllArgsConstructor;
@@ -33,6 +38,7 @@
private final PasswordEncoder passwordEncoder;
private final AdminRoleRelationService adminRoleRelationService;
private final RoleService roleService;
+ private AdminMapper adminMapper;
public Admin findByUserName(String username) {
return getOne(Wrappers.lambdaQuery(Admin.class).eq(Admin::getUsername, username).last("limit 1"));
@@ -71,42 +77,121 @@
return true;
}
+ @Transactional(rollbackFor = Exception.class)
public boolean updateAdmin(Long adminId, AdminParam param) {
Admin admin = getById(adminId);
- if(admin == null){
+ if (admin == null) {
throw new BusinessException("鎵句笉鍒扮鐞嗗憳");
}
List<Role> roles = roleService.listByAdminId(admin.getId());
- if(CollectionUtil.isEmpty(roles)){
+ if (CollectionUtil.isEmpty(roles)) {
throw new BusinessException("褰撳墠鐢ㄦ埛娌℃湁瑙掕壊");
}
List<Integer> levels = roles.stream().map(Role::getLevel).collect(Collectors.toList());
int min = Collections.min(levels);
roleService.assertLevels(min);
+
Admin update = new Admin();
update.setId(adminId);
update.setPassword(passwordEncoder.encode(param.getPassword()));
update.setNickName(param.getNickName());
update.setMobile(param.getMobile());
update.setNote(param.getNote());
- return updateById(update);
+ if (!updateById(update)) {
+ throw new BusinessException("缂栬緫绠$悊鍛樺け璐�");
+ }
+
+ adminRoleRelationService.remove(Wrappers.lambdaQuery(AdminRoleRelation.class).eq(AdminRoleRelation::getAdminId, admin.getId()));
+ AdminRoleRelation adminRoleRelation = new AdminRoleRelation();
+ adminRoleRelation.setAdminId(adminId);
+ adminRoleRelation.setRoleId(param.getRoleId());
+ if (!adminRoleRelationService.save(adminRoleRelation)) {
+ throw new BusinessException("娣诲姞绠$悊鍛樿鑹插け璐�");
+ }
+
+ return true;
}
+ /**
+ * 淇敼褰撳墠鐧诲綍鐢ㄦ埛瀵嗙爜
+ *
+ * @param param
+ * @return
+ */
public boolean updateMyPassword(PwdParam param) {
- if(!StrUtil.equals(param.getNewPass(),param.getConfirmPass())){
- throw new BusinessException("涓ゆ瀵嗙爜涓嶄竴鑷�");
- }
Long userId = SecurityUtils.getUserId();
Admin admin = getById(userId);
if (admin == null) {
throw new BusinessException("鐢ㄦ埛涓嶅瓨鍦�");
}
- if(!passwordEncoder.matches(param.getOldPass(),admin.getPassword())){
- throw new BusinessException("鏃у瘑鐮佷笉姝g‘");
+ //鍒ゆ柇鏃у瘑鐮佷笌鏁版嵁搴撴槸鍚︿竴鑷�
+ if (passwordEncoder.matches(param.getOldPass(), admin.getPassword())) {
+ //鍔犲瘑鏂板瘑鐮�
+ admin.setId(userId);
+ admin.setPassword(passwordEncoder.encode(param.getNewPass()));
+ return updateById(admin);
+ } else {
+ throw new BusinessException("鏃у瘑鐮佷笉姝g‘锛岃閲嶆柊纭瀵嗙爜锛�");
}
- Admin update = new Admin();
- update.setId(userId);
- update.setPassword(passwordEncoder.encode(param.getNewPass()));
- return updateById(update);
+ }
+
+ /**
+ * 淇敼绠$悊鍛樼殑瀵嗙爜
+ *
+ * @param param
+ * @return
+ */
+ public boolean updateAdminPassword(UserPwsParm param) {
+ Admin admin = getOne(Wrappers.lambdaQuery(Admin.class).eq(Admin::getId, param.getUserid()));
+ if (admin == null) {
+ throw new BusinessException("鐢ㄦ埛涓嶅瓨鍦�");
+ }
+
+ //鍔犲瘑鏂板瘑鐮�
+ admin.setPassword(passwordEncoder.encode(param.getNewPass()));
+ return updateById(admin);
+ }
+
+ public boolean deleteAdmin(Long adminId) {
+ Admin admin = getById(adminId);
+ if (admin == null) {
+ throw new BusinessException("鎵句笉鍒扮鐞嗗憳");
+ }
+ List<Role> roles = roleService.listByAdminId(admin.getId());
+ if (CollectionUtil.isEmpty(roles)) {
+ throw new BusinessException("褰撳墠鐢ㄦ埛娌℃湁瑙掕壊");
+ }
+ List<Integer> levels = roles.stream().map(Role::getLevel).collect(Collectors.toList());
+ int min = Collections.min(levels);
+ int maxLevel = roleService.assertLevels(min);
+ if (!RoleLevelStatus.SUPER.getCode().equals(maxLevel)) {
+ throw new BusinessException("鍙湁瓒呯骇绠$悊鍛樻墠鑳藉垹闄ょ敤鎴�");
+ }
+
+ return removeById(adminId);
+ }
+
+ /**
+ * 淇敼瓒呯骇绠$悊鍛樸�佺鐞嗗憳鐢ㄦ埛澶村儚
+ *
+ * @param userId
+ * @param IconUrl
+ * @return
+ */
+ public boolean updateIcon(Long userId, String IconUrl) {
+ Admin one = getOne(Wrappers.lambdaQuery(Admin.class).eq(Admin::getId, userId));
+ if (one == null) {
+ throw new BusinessException("鐢ㄦ埛涓嶅瓨鍦�");
+ }
+ one.setIcon(IconUrl);
+ return updateById(one);
+ }
+
+ public List<AdminBo> listAdmin(BaseConditionVO baseConditionVO, String keyword) {
+ if (baseConditionVO != null) {
+ PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+ }
+
+ return adminMapper.listAdmin(keyword);
}
}
--
Gitblit v1.9.3