shangke 2 years ago
parent
commit
d1fa77acdf

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/SchoolStaff.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.ym.mec.biz.dal.enums.school.ESchoolStaffType;
 import lombok.Data;
 
 import io.swagger.annotations.ApiModel;
@@ -44,7 +45,7 @@ public class SchoolStaff implements Serializable {
 
     @ApiModelProperty("用户身份(校长,乐团领队,分管领导,负责老师)") 
 	@TableField(value = "user_type_")
-    private String userType;
+    private ESchoolStaffType userType;
 
     @ApiModelProperty("帐号状态(注销,冻结,激活)") 
 	@TableField(value = "status_")

+ 26 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/SchoolStaffWrapper.java

@@ -231,5 +231,31 @@ public class SchoolStaffWrapper {
         public static StaffSysUser from(String json) {
             return JSON.parseObject(json, StaffSysUser.class);
         }
+
+
+        public StaffSysUser schoolId(Long schoolId) {
+            this.schoolId = schoolId;
+            return this;
+        }
+
+        public StaffSysUser userId(Long userId) {
+            this.userId = userId;
+            return this;
+        }
+
+        public StaffSysUser schoolUserType(ESchoolStaffType schoolUserType) {
+            this.schoolUserType = schoolUserType;
+            return this;
+        }
+
+        public StaffSysUser tenantId(Integer tenantId) {
+            this.tenantId = tenantId;
+            return this;
+        }
+
+        public StaffSysUser organIdList(String organIdList) {
+            this.organIdList = organIdList;
+            return this;
+        }
     }
 }

+ 22 - 2
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolStaffController.java

@@ -8,6 +8,7 @@ import com.microsvc.toolkit.common.response.paging.QueryInfo;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.SchoolStaff;
+import com.ym.mec.biz.dal.enums.ParamEnum;
 import com.ym.mec.biz.dal.wrapper.SchoolStaffWrapper;
 import com.ym.mec.biz.service.SchoolStaffService;
 import com.ym.mec.common.controller.BaseController;
@@ -16,8 +17,10 @@ import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
+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.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
@@ -103,14 +106,31 @@ public class SchoolStaffController extends BaseController {
 
         SchoolStaffWrapper.StaffSysUser user = SchoolStaffWrapper.StaffSysUser.from(JSON.toJSONString(sysUser));
         // 查询学校员工信息
-        SchoolStaff schoolStaff = schoolStaffService.queryByUserId(user.getUserId());
+        SchoolStaff schoolStaff = schoolStaffService.queryByUserId(Long.valueOf(sysUser.getId()));
         if (Objects.isNull(schoolStaff)) {
             throw new BizException("员工账号不存在");
         }
 
-        // 密码重置标识
         // 设置数据
+        user.schoolId(schoolStaff.getSchoolId())
+                .userId(schoolStaff.getUserId())
+                .schoolUserType(schoolStaff.getUserType())
+                .organIdList(schoolStaff.getOrganIdList())
+                .tenantId(schoolStaff.getTenantId())
+                .setResetFlag(false);
+
+        // 默认初始密钥
+        int phoneStrLen = sysUser.getPhone().length();
+        String defaultPassword = "gym" + sysUser.getPhone().substring(phoneStrLen - 4, phoneStrLen);
+        // 密码重置标识
+        user.setResetFlag(false);
 
+        String password = sysUser.getPassword();
+        if (StringUtils.isNotBlank(password)
+                && (new BCryptPasswordEncoder().matches(ParamEnum.INIT_PASSWORD.getCode().toString(), password)
+                || new BCryptPasswordEncoder().matches(defaultPassword, password))) {
+            user.setResetFlag(true);
+        }
 
         return succeed(user);
     }