浏览代码

Merge branch 'feature/0425-bugfix' of http://git.dayaedu.com/yonge/mec into feature/0425-bugfix

liujc 2 年之前
父节点
当前提交
49f48a0cad

+ 11 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/entity/SysUser.java

@@ -161,6 +161,9 @@ public class SysUser extends BaseEntity implements Serializable{
 
 	private String subjectId;
 
+	@ApiModelProperty(value = "密码重置标识")
+	private Boolean resetFlag;
+
 	public String getSubjectId() {
 		return subjectId;
 	}
@@ -519,4 +522,12 @@ public class SysUser extends BaseEntity implements Serializable{
 	public void setOrganIdList(String organIdList) {
 		this.organIdList = organIdList;
 	}
+
+	public Boolean getResetFlag() {
+		return resetFlag;
+	}
+
+	public void setResetFlag(Boolean resetFlag) {
+		this.resetFlag = resetFlag;
+	}
 }

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeService.java

@@ -44,6 +44,12 @@ public interface EmployeeService extends BaseService<Integer, Employee> {
     void updateEmployee(Employee employee);
 
     /**
+     * 修改员工角色
+     * @param employee Employee
+     */
+    void updateEmployeeRole(Employee employee);
+
+    /**
      * 是否有课程组关联的教务老师
      * @param employeeId
      * @return

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -280,6 +280,25 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
     }
 
     @Override
+    public void updateEmployeeRole(Employee employee) {
+
+        Employee employee1 = employeeDao.get(employee.getId());
+        if (null == employee1) {
+            throw new BizException("员工信息不存在");
+        }
+
+        //新增用户角色
+        Integer tenantId = TenantContextHolder.getTenantId();
+        if(employee.getRoleIds() != null && employee.getRoleIds().size() > 0){
+
+            //删除当前用户角色
+            employeeDao.delEmployeeRole(employee.getId());
+            // 批量新增角色
+            employeeDao.batchAddEmployeeRole(employee.getId(), employee.getRoleIds(), tenantId);
+        }
+    }
+
+    @Override
     public PageInfo queryEmployByOrganId(EmployeeQueryInfo queryInfo) {
         SysUser user = sysUserFeignService.queryUserInfo();
         if (user == null) {

+ 18 - 0
mec-web/src/main/java/com/ym/mec/web/controller/EmployeeController.java

@@ -21,6 +21,7 @@ import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
@@ -128,6 +129,16 @@ public class EmployeeController extends BaseController {
         return succeed();
     }
 
+    @ApiOperation(value = "修改员工角色")
+    @PostMapping("/updateRole")
+    @PreAuthorize("@pcs.hasPermissions('employee/updateRole')")
+    public Object updateRole(@RequestBody Employee employee) {
+        TenantContextHolder.setTenantId(employee.getTenantId());
+        employee.setUpdateTime(new Date());
+        employeeService.updateEmployeeRole(employee);
+        return succeed();
+    }
+
     @ApiOperation(value = "修改员工")
     @PostMapping("/simpleUpdate")
     @PreAuthorize("@pcs.hasPermissions('employee/simpleUpdate')")
@@ -174,6 +185,13 @@ public class EmployeeController extends BaseController {
             sysUser.setOpenBankAddress(employee.getOpenBankAddress());
             sysUser.setPostDeptIds(employee.getPostDeptIds());
             sysUser.setOrganIdList(employee.getOrganIdList());
+
+            // 密码重置标识
+            sysUser.setResetFlag(false);
+            if (StringUtils.isNotBlank(sysUser.getPassword())
+                    && new BCryptPasswordEncoder().matches("123456", sysUser.getPassword())) {
+                sysUser.setResetFlag(true);
+            }
             
             List<SysEmployeePositionDto> sysEmployeePositionDtoList = sysEmployeePositionService.queryByUserId(sysUser.getId());
             if(sysEmployeePositionDtoList != null && sysEmployeePositionDtoList.size() > 0){