shangke 2 年 前
コミット
dce21fb72b

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

@@ -2,6 +2,7 @@ package com.ym.mec.biz.dal.wrapper;
 
 import com.alibaba.fastjson.JSON;
 import com.microsvc.toolkit.common.response.paging.QueryInfo;
+import com.ym.mec.auth.api.enums.YesOrNoEnum;
 import com.ym.mec.biz.dal.enums.school.ESchoolStaffType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -11,6 +12,9 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
 
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
 import java.util.Optional;
 
 /**
@@ -100,4 +104,132 @@ public class SchoolStaffWrapper {
         }
     }
 
+    @Data
+    @Builder
+    @NoArgsConstructor
+    @AllArgsConstructor
+    @ApiModel(" StaffSysUser-学校员工")
+    public static class StaffSysUser implements Serializable {
+
+        @ApiModelProperty(value = "用户名")
+        private String username;
+
+        @ApiModelProperty(value = "密码")
+        private String password;
+
+        @ApiModelProperty(value = "随机盐")
+        private String salt;
+
+        @ApiModelProperty(value = "手机号")
+        private String phone;
+
+        @ApiModelProperty(value = "头像")
+        private String avatar;
+
+        @ApiModelProperty(value = "部门ID")
+        private Integer organId;
+
+        @ApiModelProperty(value = "0-正常,9-锁定")
+        private Integer lockFlag;
+
+        @ApiModelProperty(value = "0-正常,1-删除")
+        private YesOrNoEnum delFlag;
+
+        @ApiModelProperty(value = "微信openid")
+        private String wxOpenid;
+
+        @ApiModelProperty(value = "QQ openid")
+        private String qqOpenid;
+
+        @ApiModelProperty("用户类型")
+        private String userType;
+
+        @ApiModelProperty(value = "性别0女1男")
+        private Integer gender;
+
+        @ApiModelProperty(value = "民族")
+        private String nation;
+
+        @ApiModelProperty(value = "生日")
+        private Date birthdate;
+
+        @ApiModelProperty(value = "邮箱")
+        private String email;
+
+        @ApiModelProperty(value = "融云token")
+        private String imToken;
+
+        @ApiModelProperty(value = "身份证号")
+        private String idCardNo;
+
+        @ApiModelProperty(value = "真实姓名")
+        private String realName;
+
+        @ApiModelProperty(value = "微信号")
+        private String wechatId;
+
+        @ApiModelProperty("服务标签")
+        private Integer serviceTag;
+
+        @ApiModelProperty("运营标签")
+        private Integer operatingTag;
+
+        @ApiModelProperty(value = "用户角色")
+        private List<Integer> roles;
+
+        @ApiModelProperty(value = "联系地址")
+        private String contactAddress;
+
+        @ApiModelProperty(value = "邮编")
+        private String postalCode;
+
+        @ApiModelProperty("证书类型")
+        private String certificateType;
+
+        @ApiModelProperty(value = "社保部门id")
+        private Integer deptId;
+
+        @ApiModelProperty(value = "部门ids")
+        private String deptIds;
+
+        @ApiModelProperty(value = "岗位id")
+        private String postIds;
+
+        @ApiModelProperty(value = "岗位管理部门")
+        private String postDeptIds;
+
+        @ApiModelProperty(value = "银行卡号")
+        private String bankCard;
+
+        @ApiModelProperty(value = "开户行")
+        private String openBankAddress;
+
+        @ApiModelProperty("职位名称")
+        private String positionName;
+
+        @ApiModelProperty(value = "用户职位")
+        private String positions;
+
+        @ApiModelProperty("分部编号列表")
+        private String organIdList;
+
+        @ApiModelProperty("密码重置标识")
+        private Boolean resetFlag;
+
+        @ApiModelProperty("学校ID")
+        private Long schoolId;
+
+        @ApiModelProperty("用户帐号ID")
+        private Long userId;
+
+        @ApiModelProperty("用户身份(校长,乐团领队,分管领导,负责老师)")
+        private ESchoolStaffType schoolUserType;
+
+        @ApiModelProperty("机构编号")
+        private Integer tenantId;
+
+        public static StaffSysUser from(String json) {
+            return JSON.parseObject(json, StaffSysUser.class);
+        }
+    }
 }

+ 7 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/SchoolStaffService.java

@@ -39,5 +39,11 @@ public interface SchoolStaffService extends IService<SchoolStaff>  {
      * @return Boolean
      */
      Boolean update(SchoolStaffWrapper.SchoolStaff schoolStaff);
-     
+
+    /**
+     * 学校员工信息
+     * @param userId 用户ID
+     * @return SchoolStaff
+     */
+    SchoolStaff queryByUserId(Long userId);
 }

+ 30 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SchoolStaffServiceImpl.java

@@ -96,7 +96,7 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
         // 合作单位编号
         CooperationOrgan cooperation = cooperationOrganService.get(schoolStaff.getSchoolId().intValue());
         if (Objects.isNull(cooperation)) {
-            throw new BizException("无效的合作单位编号");
+            throw new BizException("合作单位编号无效");
         }
 
         // 系统用户信息
@@ -119,6 +119,17 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
             }
         }
 
+        // 学校员工不允许同时存在多个学校ID
+        {
+            Integer exists = lambdaQuery()
+                    .ne(SchoolStaff::getSchoolId, schoolStaff.getSchoolId())
+                    .eq(SchoolStaff::getUserId, user.getId())
+                    .count();
+            if (exists > 0) {
+                throw new BizException("用户员工账号已存在");
+            }
+        }
+
         // 添加学校员工信息
         this.save(JSON.parseObject(schoolStaff.jsonString(), SchoolStaff.class));
 
@@ -218,4 +229,22 @@ public class SchoolStaffServiceImpl extends ServiceImpl<SchoolStaffMapper, Schoo
 
         return this.updateById(JSON.parseObject(schoolStaff.jsonString(), SchoolStaff.class));       
     }
+
+    /**
+     * 学校员工信息
+     *
+     * @param userId 用户ID
+     * @return SchoolStaff
+     */
+    @Override
+    public SchoolStaff queryByUserId(Long userId) {
+
+        // 员工信息
+        List<SchoolStaff> staffs = lambdaQuery().eq(SchoolStaff::getUserId, userId).list();
+        if (CollectionUtils.isEmpty(staffs)) {
+            return null;
+        }
+
+        return staffs.get(0);
+    }
 }

+ 32 - 0
mec-web/src/main/java/com/ym/mec/web/controller/school/SchoolStaffController.java

@@ -1,14 +1,18 @@
 package com.ym.mec.web.controller.school;
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.microsvc.toolkit.common.response.paging.PageInfo;
 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.wrapper.SchoolStaffWrapper;
 import com.ym.mec.biz.service.SchoolStaffService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.exception.BizException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
@@ -23,6 +27,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.Objects;
+
 @Slf4j
 @Validated
 @RestController
@@ -32,6 +38,8 @@ public class SchoolStaffController extends BaseController {
 
     @Autowired
     private SchoolStaffService schoolStaffService;
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
 
 	@ApiOperation(value = "详情", notes = "学校员工-根据详情ID查询单条, 传入id")
     @PreAuthorize("@pcs.hasPermissions('schoolStaff/detail')")
@@ -82,4 +90,28 @@ public class SchoolStaffController extends BaseController {
     
 		return succeed(schoolStaffService.removeById(id));
 	}
+
+    @ApiOperation(value = "查询学校员工信息")
+    @GetMapping("/queryUserInfo")
+    public HttpResponseResult<SchoolStaffWrapper.StaffSysUser> queryStaffSysUser() {
+
+        // 查询用户信息
+        SysUser sysUser = sysUserFeignService.queryUserInfo();
+        if (Objects.isNull(sysUser)) {
+            throw new BizException("请先登录");
+        }
+
+        SchoolStaffWrapper.StaffSysUser user = SchoolStaffWrapper.StaffSysUser.from(JSON.toJSONString(sysUser));
+        // 查询学校员工信息
+        SchoolStaff schoolStaff = schoolStaffService.queryByUserId(user.getUserId());
+        if (Objects.isNull(schoolStaff)) {
+            throw new BizException("员工账号不存在");
+        }
+
+        // 密码重置标识
+        // 设置数据
+
+
+        return succeed(user);
+    }
 }