Ver Fonte

Merge remote-tracking branch 'origin/master'

SheepHy há 1 semana atrás
pai
commit
09f5ca5345
12 ficheiros alterados com 393 adições e 50 exclusões
  1. 154 50
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppInstructorController.java
  2. 5 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/AppInstructorMapper.java
  3. 27 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppInstructorMapper.xml
  4. 5 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppInstructorService.java
  5. 14 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppInstructorServiceImpl.java
  6. 45 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/staff/StaffRequestVO.java
  7. 47 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/staff/StaffResponseVO.java
  8. 78 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/staff/StaffVO.java
  9. 3 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java
  10. 6 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml
  11. 3 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
  12. 6 0
      national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

+ 154 - 50
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/controller/AppInstructorController.java

@@ -1,6 +1,5 @@
 package org.jeecg.modules.system.app.controller;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import io.swagger.v3.oas.annotations.Operation;
@@ -8,23 +7,28 @@ import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.extern.slf4j.Slf4j;
 import me.zhyd.oauth.utils.UuidUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.aspect.annotation.AutoLog;
 import org.jeecg.common.constant.CommonConstant;
 import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.util.PasswordUtil;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.base.service.BaseCommonService;
 import org.jeecg.modules.system.app.entity.AppInstructor;
 import org.jeecg.modules.system.app.service.IAppInstructorService;
+import org.jeecg.modules.system.app.vo.staff.StaffRequestVO;
+import org.jeecg.modules.system.app.vo.staff.StaffResponseVO;
 import org.jeecg.modules.system.app.vo.staff.StaffSaveVO;
+import org.jeecg.modules.system.app.vo.staff.StaffVO;
 import org.jeecg.modules.system.entity.SysDepart;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.service.ISysDepartService;
 import org.jeecg.modules.system.service.ISysUserService;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
@@ -57,7 +61,7 @@ public class AppInstructorController extends JeecgController<AppInstructor, IApp
 	/**
 	 * 分页列表查询
 	 *
-	 * @param appInstructor
+	 * @param staffRequestVO
 	 * @param pageNo
 	 * @param pageSize
 	 * @param req
@@ -66,15 +70,14 @@ public class AppInstructorController extends JeecgController<AppInstructor, IApp
 	//@AutoLog(value = "教练表-分页列表查询")
 	@Operation(summary="员工信息-分页列表查询")
 	@GetMapping(value = "/list")
-	public Result<IPage<AppInstructor>> queryPageList(AppInstructor appInstructor,
-								   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-								   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-								   HttpServletRequest req) {
+	public Result<IPage<StaffResponseVO>> queryPageList(StaffRequestVO staffRequestVO,
+													  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+													  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+													  HttpServletRequest req) {
 
-
-        QueryWrapper<AppInstructor> queryWrapper = QueryGenerator.initQueryWrapper(appInstructor, req.getParameterMap());
+		LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
 		Page<AppInstructor> page = new Page<AppInstructor>(pageNo, pageSize);
-		IPage<AppInstructor> pageList = appInstructorService.page(page, queryWrapper);
+		IPage<StaffResponseVO> pageList = appInstructorService.findPage(page, staffRequestVO,loginUser.getOrgCode());
 		return Result.OK(pageList);
 	}
 	
@@ -90,44 +93,61 @@ public class AppInstructorController extends JeecgController<AppInstructor, IApp
 	@PostMapping(value = "/add")
 	@Transactional
 	public Result<String> add(@RequestBody StaffSaveVO staffSaveVO) {
-		SysUser user = new SysUser();
-		AppInstructor appInstructor = new AppInstructor();
-		if (StringUtils.isEmpty(staffSaveVO.getSelectedroles())){
-			return Result.error("角色权限为空");
-		}
-		if (StringUtils.isEmpty(staffSaveVO.getSelecteddeparts())){
-			return Result.error("所属部门为空");
-		}
-		if (staffSaveVO.getSelectedroles().indexOf("instructor")==0){
-			if (staffSaveVO.getSelecteddeparts().contains(",")){
-				return Result.error("该角色涉及教练,不允许多部门");
-			}
-		}
-		SysDepart departById = sysDepartService.getDepartById(staffSaveVO.getSelecteddeparts());
 		try {
-			BeanUtils.copyProperties(staffSaveVO,user);
-			user.setId(UuidUtils.getUUID());
-			user.setCreateTime(new Date());//设置创建时间
-			String salt = oConvertUtils.randomGen(8);
-			user.setSalt(salt);
-			String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), salt);
-			user.setPassword(passwordEncode);
-			user.setStatus(1);
-			user.setDelFlag(CommonConstant.DEL_FLAG_0);
-			user.setUserIdentity(CommonConstant.USER_IDENTITY_1);
-			//用户表字段org_code不能在这里设置他的值
-			user.setOrgCode(departById.getOrgCode());
-			// 保存用户走一个service 保证事务
-			sysUserService.saveUser(user, staffSaveVO.getSelectedroles(), staffSaveVO.getSelecteddeparts(), null);
-			baseCommonService.addLog("添加用户,username: " +user.getUsername() ,CommonConstant.LOG_TYPE_2, 2);
-		} catch (Exception e) {
-			log.error(e.getMessage(), e);
+			SysUser user = new SysUser();
+			AppInstructor appInstructor = new AppInstructor();
+			if (StringUtils.isEmpty(staffSaveVO.getSelectedroles())){
+				return Result.error("角色权限为空");
+			}
+			if (StringUtils.isEmpty(staffSaveVO.getSelecteddeparts())){
+				return Result.error("所属部门为空");
+			}
+			SysDepart departById =null;
+			if (staffSaveVO.getSelectedroles().indexOf("instructor")==0){
+				if (staffSaveVO.getSelecteddeparts().contains(",")){
+					return Result.error("该角色涉及教练,不允许多部门");
+				}
+				departById = sysDepartService.getDepartById(staffSaveVO.getSelecteddeparts());
+			}else {
+				String dept=null;
+				if (staffSaveVO.getSelecteddeparts().indexOf(",")>0){
+					dept=staffSaveVO.getSelecteddeparts().split(",")[0];
+				}else {
+					dept=staffSaveVO.getSelecteddeparts();
+				}
+				departById = sysDepartService.getDepartById(dept);
+			}
+			LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+			try {
+				BeanUtils.copyProperties(staffSaveVO,user);
+				user.setId(UuidUtils.getUUID());
+				user.setCreateBy(loginUser.getUsername());
+				user.setCreateTime(new Date());//设置创建时间
+				String salt = oConvertUtils.randomGen(8);
+				user.setSalt(salt);
+				String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), salt);
+				user.setPassword(passwordEncode);
+				user.setStatus(1);
+				user.setDelFlag(CommonConstant.DEL_FLAG_0);
+				user.setUserIdentity(CommonConstant.USER_IDENTITY_1);
+				//用户表字段org_code不能在这里设置他的值
+				user.setOrgCode(departById.getOrgCode());
+				// 保存用户走一个service 保证事务
+				sysUserService.saveUser(user, staffSaveVO.getSelectedroles(), staffSaveVO.getSelecteddeparts(), null);
+				baseCommonService.addLog("添加用户,username: " +user.getUsername() ,CommonConstant.LOG_TYPE_2, 2);
+			} catch (Exception e) {
+				log.error(e.getMessage(), e);
+				return Result.error("添加失败!");
+			}
+			BeanUtils.copyProperties(staffSaveVO,appInstructor);
+			appInstructor.setId(UuidUtils.getUUID());
+			appInstructor.setUserId(user.getId());
+			appInstructor.setDelFlag(CommonConstant.DEL_FLAG_0);
+			appInstructorService.save(appInstructor);
+		} catch (BeansException e) {
+			e.getMessage();
 			return Result.error("添加失败!");
 		}
-		BeanUtils.copyProperties(staffSaveVO,appInstructor);
-		appInstructor.setUserId(user.getId());
-		appInstructor.setDelFlag(CommonConstant.DEL_FLAG_0);
-		appInstructorService.save(appInstructor);
 		return Result.OK("添加成功!");
 	}
 	
@@ -141,12 +161,72 @@ public class AppInstructorController extends JeecgController<AppInstructor, IApp
 	@Operation(summary="员工信息-编辑")
 	@RequiresPermissions("staff:edit")
 	@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
+	@Transactional
 	public Result<String> edit(@RequestBody StaffSaveVO staffSaveVO) {
-		if (staffSaveVO==null||StringUtils.isEmpty(staffSaveVO.getId())){
-			return Result.error("编辑失败!请选择需要编辑的员工信息。");
+		try {
+			if (staffSaveVO==null||StringUtils.isEmpty(staffSaveVO.getId())){
+				return Result.error("编辑失败!请选择需要编辑的员工信息。");
+			}
+			StaffVO staffVO =sysUserService.findByUserIdStaff(staffSaveVO.getId());
+			if (staffVO==null){
+				return Result.error("编辑失败!未查询到需要编辑的员工信息。");
+			}
+			if (StringUtils.isEmpty(staffVO.getStaffId())){
+				return Result.error("编辑失败!未知员工信息");
+			}
+			if (StringUtils.isEmpty(staffSaveVO.getSelectedroles())){
+				return Result.error("角色权限为空");
+			}
+			if (StringUtils.isEmpty(staffSaveVO.getSelecteddeparts())){
+				return Result.error("所属部门为空");
+			}
+			SysDepart departById =null;
+			if (staffSaveVO.getSelectedroles().indexOf("instructor")==0){
+				if (staffSaveVO.getSelecteddeparts().contains(",")){
+					return Result.error("该角色涉及教练,不允许多部门");
+				}
+				departById = sysDepartService.getDepartById(staffSaveVO.getSelecteddeparts());
+			}else {
+				String dept=null;
+				if (staffSaveVO.getSelecteddeparts().indexOf(",")>0){
+					dept=staffSaveVO.getSelecteddeparts().split(",")[0];
+				}else {
+					dept=staffSaveVO.getSelecteddeparts();
+				}
+				departById = sysDepartService.getDepartById(dept);
+			}
+			LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+			SysUser sysUser = new SysUser();
+			BeanUtils.copyProperties(staffSaveVO,sysUser);
+			sysUser.setId(staffVO.getStaffId());
+			sysUser.setOrgCode(departById.getOrgCode());
+			sysUser.setUpdateBy(loginUser.getUsername());
+			sysUser.setUpdateTime(new Date());
+			sysUserService.editUser(sysUser, staffSaveVO.getSelectedroles(), staffSaveVO.getSelecteddeparts(), null, null);
+			boolean fal=StringUtils.isNotEmpty(staffVO.getInstructorId());
+			AppInstructor appInstructor = new AppInstructor();
+			BeanUtils.copyProperties(staffSaveVO,appInstructor);
+			if (staffSaveVO.getSelectedroles().indexOf("instructor")==0&&fal){
+				appInstructor.setId(staffVO.getInstructorId());
+				appInstructor.setUpdateBy(loginUser.getUsername());
+				appInstructor.setUpdateTime(new Date());
+				appInstructorService.updateById(appInstructor);
+			}else if (staffSaveVO.getSelectedroles().indexOf("instructor")==0&&!fal){
+				appInstructor.setId(UuidUtils.getUUID());
+				appInstructor.setUserId(sysUser.getId());
+				appInstructor.setDelFlag(CommonConstant.DEL_FLAG_0);
+				appInstructorService.save(appInstructor);
+			}else if (staffSaveVO.getSelectedroles().indexOf("instructor")!=0&&fal){
+				appInstructor.setId(staffVO.getInstructorId());
+				appInstructor.setDelFlag(CommonConstant.DEL_FLAG_1);
+				appInstructor.setUpdateBy(loginUser.getUsername());
+				appInstructor.setUpdateTime(new Date());
+				appInstructorService.updateById(appInstructor);
+			}
+		} catch (BeansException e) {
+			e.getMessage();
+			return Result.error("编辑失败!");
 		}
-//		sysUserService.findByUserIdStaff(staffSaveVO.getId());
-//		appInstructorService.updateById(appInstructor);
 		return Result.OK("编辑成功!");
 	}
 	
@@ -160,8 +240,32 @@ public class AppInstructorController extends JeecgController<AppInstructor, IApp
 	@Operation(summary="员工信息-通过id删除")
 	@RequiresPermissions("staff:delete")
 	@DeleteMapping(value = "/delete")
+	@Transactional
 	public Result<String> delete(@RequestParam(name="id",required=true) String id) {
-		appInstructorService.removeById(id);
+		try {
+			StaffVO staffVO =sysUserService.findByUserIdStaff(id);
+			if (staffVO==null){
+				return Result.OK("删除失败!未查询到信息");
+			}
+			LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+			SysUser sysUser = new SysUser();
+			sysUser.setId(staffVO.getStaffId());
+			sysUser.setDelFlag(CommonConstant.DEL_FLAG_1);
+			sysUser.setUpdateBy(loginUser.getUsername());
+			sysUser.setUpdateTime(new Date());
+			sysUserService.updateById(sysUser);
+			if (StringUtils.isNotEmpty(staffVO.getInstructorId())){
+				AppInstructor appInstructor = new AppInstructor();
+				appInstructor.setId(staffVO.getInstructorId());
+				appInstructor.setDelFlag(CommonConstant.DEL_FLAG_1);
+				appInstructor.setUpdateBy(loginUser.getUsername());
+				appInstructor.setUpdateTime(new Date());
+				appInstructorService.updateById(appInstructor);
+			}
+		} catch (Exception e) {
+			e.getMessage();
+			return Result.error("删除失败!");
+		}
 		return Result.OK("删除成功!");
 	}
 	

+ 5 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/AppInstructorMapper.java

@@ -1,6 +1,7 @@
 package org.jeecg.modules.system.app.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.app.dto.SearchDTO;
@@ -8,6 +9,8 @@ import org.jeecg.modules.app.vo.SearchVO;
 import org.jeecg.modules.app.vo.coach.AppCoachDetailsVO;
 import org.jeecg.modules.app.vo.coach.AppCoachVO;
 import org.jeecg.modules.system.app.entity.AppInstructor;
+import org.jeecg.modules.system.app.vo.staff.StaffRequestVO;
+import org.jeecg.modules.system.app.vo.staff.StaffResponseVO;
 
 import java.util.List;
 
@@ -35,4 +38,6 @@ public interface AppInstructorMapper extends BaseMapper<AppInstructor> {
 
 
     AppCoachDetailsVO findById(@Param("id")String id);
+
+    IPage<StaffResponseVO> findPage(@Param("page") Page<AppInstructor> page,@Param("staffRequestVO") StaffRequestVO staffRequestVO,@Param("orgCode") String orgCode);
 }

+ 27 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/mapper/xml/AppInstructorMapper.xml

@@ -65,4 +65,31 @@
                a.certificate_innocence,a.healthy,a.honor  from nm_instructor a left join  sys_user b on a.user_id = b.id where a.user_id = #{id}
 
     </select>
+    <select id="findPage" resultType="org.jeecg.modules.system.app.vo.staff.StaffResponseVO">
+        select a.id,a.username,a.realname,a.status,a.create_time,c.depart_name from sys_user a
+        left join  sys_user_depart b on a.id = b.user_id
+        left join sys_depart c on b.dep_id  = c.id and c.id in (select id from sys_depart where org_code LIKE CONCAT('',#{orgCode},'%'))
+        left join nm_instructor d on a.id =d.user_id and d.del_flag=0
+        where 1=1
+        <if test="staffRequestVO!=null and staffRequestVO!=''">
+            <if test="staffRequestVO.deptId!=null and staffRequestVO.deptId!=''">
+                AND c.id = #{staffRequestVO.deptId}
+            </if>
+            <if test="staffRequestVO.phone!=null and staffRequestVO.phone!=''">
+                AND a.phone = #{staffRequestVO.phone}
+            </if>
+            <if test="staffRequestVO.username!=null and staffRequestVO.username!=''">
+                AND a.username = #{staffRequestVO.username}
+            </if>
+            <if test="staffRequestVO.status!=null and staffRequestVO.status!=''">
+                AND a.status = #{staffRequestVO.status}
+            </if>
+            <if test="staffRequestVO.endTime!=null  and staffRequestVO.endTime!=''">
+                <![CDATA[   AND DATE_FORMAT(a.create_time, '%Y-%m-%d')<=  DATE_FORMAT(#{staffRequestVO.endTime}, '%Y-%m-%d') ]]>
+            </if>
+            <if test="staffRequestVO.startTime!=null  and staffRequestVO.startTime!=''">
+                <![CDATA[   AND DATE_FORMAT(a.create_time, '%Y-%m-%d')<=  DATE_FORMAT(#{staffRequestVO.startTime}, '%Y-%m-%d') ]]>
+            </if>
+        </if>
+    </select>
 </mapper>

+ 5 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/IAppInstructorService.java

@@ -1,7 +1,11 @@
 package org.jeecg.modules.system.app.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.system.app.entity.AppInstructor;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.jeecg.modules.system.app.vo.staff.StaffRequestVO;
+import org.jeecg.modules.system.app.vo.staff.StaffResponseVO;
 
 /**
  * @Description: 教练表
@@ -11,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IAppInstructorService extends IService<AppInstructor> {
 
+    IPage<StaffResponseVO> findPage(Page<AppInstructor> page, StaffRequestVO staffRequestVO,String orgCode);
 }

+ 14 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/service/impl/AppInstructorServiceImpl.java

@@ -1,8 +1,13 @@
 package org.jeecg.modules.system.app.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.jeecg.modules.system.app.entity.AppInstructor;
 import org.jeecg.modules.system.app.mapper.AppInstructorMapper;
 import org.jeecg.modules.system.app.service.IAppInstructorService;
+import org.jeecg.modules.system.app.vo.staff.StaffRequestVO;
+import org.jeecg.modules.system.app.vo.staff.StaffResponseVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -16,4 +21,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 @Service
 public class AppInstructorServiceImpl extends ServiceImpl<AppInstructorMapper, AppInstructor> implements IAppInstructorService {
 
+    @Autowired
+    AppInstructorMapper appInstructorMapper;
+
+
+
+    @Override
+    public IPage<StaffResponseVO> findPage(Page<AppInstructor> page, StaffRequestVO staffRequestVO,String orgCode) {
+        return appInstructorMapper.findPage(page,staffRequestVO,orgCode);
+    }
 }

+ 45 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/staff/StaffRequestVO.java

@@ -0,0 +1,45 @@
+package org.jeecg.modules.system.app.vo.staff;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+/**
+ * @author DM
+ * @date 2025/7/7 17:37
+ * @description
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="员工查询请求参数")
+public class StaffRequestVO {
+
+    /**名称*/
+    @Schema(description = "登录账号")
+    private String username;
+
+    /**1-正常,2-冻结*/
+    @Schema(description = "用户状态1-正常,2-冻结")
+    private Integer status;
+
+    @Schema(description = "手机号")
+    private String phone;
+
+    @Schema(description = "所属部门id")
+    private String  deptId;
+
+    /**创建时间;创建时间*/
+    @Schema(description = "开始时间")
+    private String startTime;
+
+    /**创建时间;创建时间*/
+    @Schema(description = "结束时间")
+    private String endTime;
+
+}

+ 47 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/staff/StaffResponseVO.java

@@ -0,0 +1,47 @@
+package org.jeecg.modules.system.app.vo.staff;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @author DM
+ * @date 2025/7/7 17:37
+ * @description
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="员工查询返回参数")
+public class StaffResponseVO {
+    @Schema(description = "id")
+    private String id;
+    /**名称*/
+    @Schema(description = "登录账号")
+    private String username;
+    /**名称*/
+    @Schema(description = "用户名称")
+    private String realname;
+    /**1-正常,2-冻结*/
+    @Schema(description = "用户状态1-正常,2-冻结")
+    private Integer status;
+
+    @Schema(description = "部门")
+    private String  departName;
+
+    /**更新时间;更新时间*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @Schema(description = "创建时间")
+    private Date createTime;
+
+}

+ 78 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/app/vo/staff/StaffVO.java

@@ -0,0 +1,78 @@
+package org.jeecg.modules.system.app.vo.staff;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * @author DM
+ * @date 2025/7/7 17:37
+ * @description
+ */
+@Data
+@Accessors(chain = true)
+@EqualsAndHashCode(callSuper = false)
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(description="员工请求参数")
+public class StaffVO {
+
+
+
+    @Schema(description = "员工id")
+    private String staffId;
+
+    @Schema(description = "教练id")
+    private String instructorId;
+    /**名称*/
+    @Schema(description = "登录账号")
+    private String username;
+    /**地址*/
+    @Schema(description = "用户名称(真实姓名)")
+    private String realname;
+    /**1-正常,2-冻结*/
+    @Schema(description = "用户状态1-正常,2-冻结")
+    private Integer status;
+    /**密码*/
+    @Schema(description = "密码")
+    private String password;
+
+
+    @Schema(description = "所属角色")
+    private String  selectedroles;
+
+    @Schema(description = "所属部门")
+    private String  selecteddeparts;
+    /**部门编号*/
+    @Excel(name = "部门编号", width = 15)
+    @Schema(description = "部门编号")
+    private String orgCode;
+    /**培训项目*/
+    @Excel(name = "培训项目", width = 15)
+    @Schema(description = "培训项目,使用,分割")
+    private String trainingPrograms;
+    /**教学理念*/
+    @Excel(name = "教学理念", width = 15)
+    @Schema(description = "教学理念")
+    private String teachingPhilosophy;
+    /**擅长说明*/
+    @Excel(name = "擅长说明", width = 15)
+    @Schema(description = "擅长说明")
+    private String excelMsg;
+    /**无犯罪证明*/
+    @Excel(name = "无犯罪证明", width = 15)
+    @Schema(description = "无犯罪证明")
+    private String certificateInnocence;
+    /**健康证*/
+    @Excel(name = "健康证", width = 15)
+    @Schema(description = "健康证")
+    private String healthy;
+    /**荣誉证书多个逗号分隔*/
+    @Excel(name = "荣誉证书多个逗号分隔", width = 15)
+    @Schema(description = "荣誉证书多个逗号分隔")
+    private String honor;
+}

+ 3 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/SysUserMapper.java

@@ -8,6 +8,7 @@ import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.jeecg.modules.system.app.dto.FindPageCUserInfoRequestDTO;
 import org.jeecg.modules.system.app.dto.FindPageCUserInfoResponseDTO;
+import org.jeecg.modules.system.app.vo.staff.StaffVO;
 import org.jeecg.modules.system.entity.SysUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
@@ -238,4 +239,6 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
 
 	@Select("select * from sys_user where del_flag=0 and depart_ids =#{departIds}")
 	SysUser findByDepartIds(@Param("departIds") String departIds);
+
+    StaffVO findByUserIdStaff(@Param("id") String id);
 }

+ 6 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/mapper/xml/SysUserMapper.xml

@@ -319,4 +319,10 @@
 		(select user_id, count(1)  as familyNum from nm_family_members group by  user_id ) t1 on  t.id=t1.user_id
 		order by  t.create_time desc
 	</select>
+    <select id="findByUserIdStaff" resultType="org.jeecg.modules.system.app.vo.staff.StaffVO">
+		select a.id as staffId,a.username,a.realname,a.status,b.id as instructorId,b.training_programs,b.teaching_philosophy,b.excel_msg
+		from sys_user a
+		left join  nm_instructor b on a.id = b.user_id and b.del_flag =0
+		where a.del_flag =0 and a.user_identity=1
+	</select>
 </mapper>

+ 3 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java

@@ -11,6 +11,7 @@ import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.common.system.vo.SysUserCacheInfo;
 import org.jeecg.modules.system.app.dto.FindPageCUserInfoRequestDTO;
 import org.jeecg.modules.system.app.dto.FindPageCUserInfoResponseDTO;
+import org.jeecg.modules.system.app.vo.staff.StaffVO;
 import org.jeecg.modules.system.entity.SysRoleIndex;
 import org.jeecg.modules.system.entity.SysUser;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
@@ -485,4 +486,6 @@ public interface ISysUserService extends IService<SysUser> {
     void updatePasswordNotBindPhone(String oldPassword, String password, String username);
 
     IPage<FindPageCUserInfoResponseDTO> findByCUserInfo(Integer pageNo, Integer pageSize, FindPageCUserInfoRequestDTO findPageCUserInfoRequestDTO);
+
+    StaffVO findByUserIdStaff(String id);
 }

+ 6 - 0
national-motion-module-system/national-motion-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java

@@ -39,6 +39,7 @@ import org.jeecg.modules.jmreport.common.util.OkConvertUtils;
 import org.jeecg.modules.message.handle.impl.SystemSendMsgHandle;
 import org.jeecg.modules.system.app.dto.FindPageCUserInfoRequestDTO;
 import org.jeecg.modules.system.app.dto.FindPageCUserInfoResponseDTO;
+import org.jeecg.modules.system.app.vo.staff.StaffVO;
 import org.jeecg.modules.system.entity.*;
 import org.jeecg.modules.system.mapper.*;
 import org.jeecg.modules.system.model.SysUserSysDepartModel;
@@ -2369,4 +2370,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 		Page<FindPageCUserInfoResponseDTO> page = new Page<FindPageCUserInfoResponseDTO>(pageNo, pageSize);
 		return userMapper.findPage(page, findPageCUserInfoRequestDTO);
 	}
+
+	@Override
+	public StaffVO findByUserIdStaff(String id) {
+		return userMapper.findByUserIdStaff(id);
+	}
 }