Browse Source

修复了一些BUG

liuyc 3 years ago
parent
commit
3674409f0b

+ 28 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/dto/ExcelInWbsTreeAndElementDTO.java

@@ -0,0 +1,28 @@
+package org.springblade.manager.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+@Data
+public class ExcelInWbsTreeAndElementDTO implements Serializable {
+
+    /**
+     * 节点Id
+     */
+    private String id;
+
+    /**
+     * 表id
+     */
+    private String deptName;
+
+    /**
+     * 实体表名
+     */
+    private String initTableName;
+
+    /**
+     * 元素List
+     */
+}

+ 7 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ContractInfoController.java

@@ -193,6 +193,12 @@ public class ContractInfoController extends BladeController {
         if (wbsTreeContracts.size() > 0) {
             return R.fail("合同段存在关联的WBS树,删除失败");
         }
+        List<SaveUserInfoByProjectDTO> list = saveUserInfoByProjectMapper.selectList(Wrappers.<SaveUserInfoByProjectDTO>query().lambda()
+                .eq(SaveUserInfoByProjectDTO::getContractId, ids)
+        );
+        if (list.size() > 0) {
+            return R.fail("当前合同段存在关联用户,删除失败");
+        }
         return R.status(contractInfoService.deleteLogic(Func.toLongList(ids)));
     }
 
@@ -219,7 +225,7 @@ public class ContractInfoController extends BladeController {
     @GetMapping("/findUserList")
     @ApiOperationSupport(order = 11)
     @ApiOperation(value = "", notes = "")
-    public R<List<User>> findUserList(){
+    public R<List<User>> findUserList() {
         List<User> user = contractInfoService.findUserList();
         if (user.size() > 0) {
             return R.data(user);

+ 8 - 4
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ProjectInfoController.java

@@ -17,6 +17,7 @@
 package org.springblade.manager.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import io.swagger.annotations.*;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
@@ -31,16 +32,14 @@ import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
 import org.springblade.manager.dto.WbsTreeContractDTO;
 import org.springblade.manager.dto.ProjectInfoDTO;
 import org.springblade.manager.entity.ContractInfo;
+import org.springblade.manager.entity.SaveUserInfoByProject;
 import org.springblade.manager.entity.WbsTreePrivate;
-import org.springblade.manager.service.IContractInfoService;
-import org.springblade.manager.service.IWbsTreePrivateService;
-import org.springblade.manager.service.IWbsTreeService;
+import org.springblade.manager.service.*;
 import org.springblade.manager.vo.*;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springblade.manager.entity.ProjectInfo;
 import org.springblade.manager.wrapper.ProjectInfoWrapper;
-import org.springblade.manager.service.IProjectInfoService;
 import org.springblade.core.boot.ctrl.BladeController;
 
 import java.util.List;
@@ -61,6 +60,7 @@ public class ProjectInfoController extends BladeController {
     private final IWbsTreeService wbsTreeService;
     private final IWbsTreePrivateService wbsTreePrivateService;
     private final IContractInfoService iContractInfoService;
+    private final SaveUserInfoByProjectService saveUserInfoByProjectService;
 
     /**
      * 详情
@@ -174,6 +174,10 @@ public class ProjectInfoController extends BladeController {
         if (wbsTreePrivates.size() > 0) {
             return R.fail("当前项目存在WBS私有树,删除失败");
         }
+        List<SaveUserInfoByProjectDTO> list = saveUserInfoByProjectService.selectList(ids);
+        if (list.size() > 0) {
+            return R.fail("当前项目被用户关联中,删除失败");
+        }
         return R.status(projectInfoService.deleteLogic(Func.toLongList(ids)));
     }
 

+ 1 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsFormElementController.java

@@ -229,7 +229,7 @@ public class WbsFormElementController extends BladeController {
      * 提交清表关联公有Wbs树并创建元素
      */
     @ApiOperationSupport(order = 10)
-    @ApiOperation(value = "提交清表关联公有Wbs树并创建元素", notes = "fId、tableElementKey")
+    @ApiOperation(value = "提交清表关联公有Wbs树并创建元素", notes = "节点id、表名、元素DTO")
     @RequestMapping(value = "/submitExcelRelationWbsTreeAndElement", method = RequestMethod.POST)
     public R submitExcelRelationWbsTreeAndElement(String fId, String tableElementKey) {
         boolean b = wbsFormElementService.submitExcelRelationWbsTreeAndElement(fId, tableElementKey);

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/SaveUserInfoByProjectService.java

@@ -2,6 +2,7 @@ package org.springblade.manager.service;
 
 import org.springblade.core.mp.base.BaseService;
 import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
+import org.springblade.manager.entity.SaveUserInfoByProject;
 import org.springblade.system.user.entity.User;
 
 import java.util.List;
@@ -15,4 +16,5 @@ public interface SaveUserInfoByProjectService extends BaseService<SaveUserInfoBy
 
     List<SaveUserInfoByProjectDTO> queryProjectBusinessUser(Long projectId, Long contractId);
 
+    List<SaveUserInfoByProjectDTO> selectList(String ids);
 }

+ 6 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ProjectInfoServiceImpl.java

@@ -95,11 +95,15 @@ public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, P
         ProjectInfo projectInfo = baseMapper.selectById(id);
         if ("public".equals(referenceWbsTemplateType) && referenceWbsTemplateId != (-1)) {
             WbsInfo wbsInfo = wbsInfoMapper.selectById(referenceWbsTemplateId);
-            projectInfoVO2.setWbsType(wbsInfo.getWbsType());
+            if (wbsInfo != null) {
+                projectInfoVO2.setWbsType(wbsInfo.getWbsType());
+            }
             projectInfoVO2.setProjectInfo(projectInfo);
         } else if (("private").equals(referenceWbsTemplateType) && referenceWbsTemplateId != (-1)) {
             WbsTreePrivate wbsTreePrivate = wbsTreePrivateMapper.selectByPKeyId(referenceWbsTemplateId);
-            projectInfoVO2.setWbsType(Integer.valueOf(wbsTreePrivate.getWbsType()));
+            if (wbsTreePrivate != null) {
+                projectInfoVO2.setWbsType(Integer.valueOf(wbsTreePrivate.getWbsType()));
+            }
             projectInfoVO2.setProjectInfo(projectInfo);
         } else {
             projectInfoVO2.setProjectInfo(projectInfo);

+ 7 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/SaveUserInfoByProjectServiceImpl.java

@@ -1,8 +1,10 @@
 package org.springblade.manager.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import lombok.AllArgsConstructor;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.manager.dto.SaveUserInfoByProjectDTO;
+import org.springblade.manager.entity.SaveUserInfoByProject;
 import org.springblade.manager.mapper.SaveUserInfoByProjectMapper;
 import org.springblade.manager.service.SaveUserInfoByProjectService;
 import org.springblade.system.user.entity.User;
@@ -35,4 +37,9 @@ public class SaveUserInfoByProjectServiceImpl
     public List<SaveUserInfoByProjectDTO> queryProjectBusinessUser(Long projectId, Long contractId) {
         return this.baseMapper.queryProjectBusinessUser(projectId, contractId);
     }
+
+    @Override
+    public List<SaveUserInfoByProjectDTO> selectList(String ids) {
+        return baseMapper.selectList(Wrappers.<SaveUserInfoByProjectDTO>query().lambda().eq(SaveUserInfoByProjectDTO::getProjectId,ids));
+    }
 }

+ 2 - 2
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@@ -241,8 +241,8 @@ public class UserController {
     @ApiOperation(value = "修改密码", notes = "传入密码")
     public R updatePassword(BladeUser user, @ApiParam(value = "旧密码", required = true) @RequestParam String oldPassword,
                             @ApiParam(value = "新密码", required = true) @RequestParam String newPassword,
-                            @ApiParam(value = "新密码", required = true) @RequestParam String newPassword1) {
-        boolean temp = userService.updatePassword(user.getUserId(), oldPassword, newPassword, newPassword1);
+                            @ApiParam(value = "新密码", required = true) @RequestParam String newPassword1, String plaintextPassword) {
+        boolean temp = userService.updatePassword(user.getUserId(), oldPassword, newPassword, newPassword1, plaintextPassword);
         return R.status(temp);
     }
 

+ 1 - 1
blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java

@@ -172,7 +172,7 @@ public interface IUserService extends BaseService<User> {
      * @param newPassword1
      * @return
      */
-    boolean updatePassword(Long userId, String oldPassword, String newPassword, String newPassword1);
+    boolean updatePassword(Long userId, String oldPassword, String newPassword, String newPassword1,String plaintextPassword);
 
     /**
      * 删除用户

+ 5 - 3
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@@ -18,6 +18,7 @@ package org.springblade.system.user.service.impl;
 
 
 import cn.hutool.crypto.SecureUtil;
+import cn.hutool.crypto.digest.MD5;
 import com.alibaba.nacos.common.utils.MD5Utils;
 import com.alibaba.nacos.common.utils.StringUtils;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
@@ -60,6 +61,7 @@ import org.springblade.system.user.vo.UserVO;
 import org.springblade.system.user.wrapper.UserWrapper;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import sun.security.rsa.RSASignature;
 
 import java.util.*;
 
@@ -226,7 +228,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
             throw new ServiceException(StringUtil.format("当前用户 [{}] 已存在!", user.getAccount()));
         }
         user.setName(user.getRealName());
-        return updateUserInfo(user);
+        return updateUserInfo(user) && submitUserDept(user);
     }
 
 
@@ -394,7 +396,7 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
     }
 
     @Override
-    public boolean updatePassword(Long userId, String oldPassword, String newPassword, String newPassword1) {
+    public boolean updatePassword(Long userId, String oldPassword, String newPassword, String newPassword1, String plaintextPassword) {
         User user = getById(userId);
         if (!newPassword.equals(newPassword1)) {
             throw new ServiceException("请输入正确的确认密码!");
@@ -403,8 +405,8 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
             throw new ServiceException("原密码不正确!");
         }
         return this.update(Wrappers.<User>update().lambda()
+                .set(User::getPlaintextPassword, plaintextPassword)
                 .set(User::getPassword, DigestUtil.hex(newPassword))
-                .set(User::getPlaintextPassword, newPassword)
                 .eq(User::getId, userId));
     }