dzx 1 год назад
Родитель
Сommit
2b4adb7e92

+ 0 - 1
src/main/java/com/xjrsoft/common/utils/QrCodeUtil.java

@@ -10,7 +10,6 @@ import javax.imageio.ImageIO;
 import java.awt.image.BufferedImage;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
-import java.nio.charset.StandardCharsets;
 import java.util.Base64;
 import java.util.HashMap;
 

+ 40 - 0
src/main/java/com/xjrsoft/module/concat/controller/ConcatController.java

@@ -0,0 +1,40 @@
+package com.xjrsoft.module.concat.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.xjrsoft.common.model.result.RT;
+import com.xjrsoft.common.utils.TreeUtil;
+import com.xjrsoft.module.concat.dto.ConcatTreeDto;
+import com.xjrsoft.module.concat.service.IXjrUserService;
+import com.xjrsoft.module.concat.vo.ConcatTreeVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+* @title: 通讯录
+* @Author dzx
+* @Date: 2024年3月25日
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/concat" + "/concat")
+@Api(value = "/concat"  + "/concat",tags = "通讯录")
+@AllArgsConstructor
+public class ConcatController {
+    private final IXjrUserService xjrUserService;
+
+
+    @GetMapping(value = "/list")
+    @ApiOperation(value="教师通讯录")
+    @SaCheckPermission("room:detail")
+    public RT<List<ConcatTreeVo>> list(ConcatTreeDto dto) throws Exception {
+        List<ConcatTreeVo> concatList = xjrUserService.getConcatList(dto);
+        List<ConcatTreeVo> treeVoList = TreeUtil.build(concatList);
+        return RT.ok(treeVoList);
+    }
+}

+ 23 - 0
src/main/java/com/xjrsoft/module/concat/dto/ConcatTreeDto.java

@@ -0,0 +1,23 @@
+package com.xjrsoft.module.concat.dto;
+
+import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+/**
+* @title: 通讯信息
+* @Author dzx
+* @Date: 2024年3月25日
+* @Version 1.0
+*/
+@Data
+public class ConcatTreeDto extends PageInput {
+
+    @ApiModelProperty("姓名")
+    private String name;
+
+    @ApiModelProperty("电话")
+    private String mobile;
+
+}

+ 21 - 0
src/main/java/com/xjrsoft/module/concat/service/IXjrUserService.java

@@ -0,0 +1,21 @@
+package com.xjrsoft.module.concat.service;
+
+import com.github.yulichang.base.MPJBaseService;
+import com.xjrsoft.module.concat.dto.ConcatTreeDto;
+import com.xjrsoft.module.concat.vo.ConcatTreeVo;
+import com.xjrsoft.module.teacher.entity.XjrUser;
+
+import java.util.List;
+
+/**
+* @title: 班级荣誉
+* @Author szs
+* @Date: 2023-12-06
+* @Version 1.0
+*/
+
+public interface IXjrUserService extends MPJBaseService<XjrUser> {
+
+
+    List<ConcatTreeVo> getConcatList(ConcatTreeDto dto);
+}

+ 54 - 0
src/main/java/com/xjrsoft/module/concat/service/impl/XjrUserServiceImpl.java

@@ -0,0 +1,54 @@
+package com.xjrsoft.module.concat.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.common.enums.DeleteMark;
+import com.xjrsoft.module.concat.dto.ConcatTreeDto;
+import com.xjrsoft.module.concat.service.IXjrUserService;
+import com.xjrsoft.module.concat.vo.ConcatTreeVo;
+import com.xjrsoft.module.organization.entity.Department;
+import com.xjrsoft.module.organization.mapper.DepartmentMapper;
+import com.xjrsoft.module.teacher.entity.XjrUser;
+import com.xjrsoft.module.teacher.mapper.XjrUserMapper;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+* @Author dzx
+* @Date: 2024-02-03
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class XjrUserServiceImpl extends MPJBaseServiceImpl<XjrUserMapper, XjrUser> implements IXjrUserService {
+    private final XjrUserMapper xjrUserMapper;
+    private final DepartmentMapper departmentMapper;
+
+    @Override
+    public List<ConcatTreeVo> getConcatList(ConcatTreeDto dto) {
+        List<ConcatTreeVo> voList = new ArrayList<>();
+
+        List<ConcatTreeVo> teacherDeptInfo = xjrUserMapper.getTeacherDeptInfo(dto);
+        departmentMapper.selectList(
+            new QueryWrapper<Department>().lambda()
+            .eq(Department::getDeleteMark, DeleteMark.NODELETE.getCode())
+        ).forEach((node) -> {
+            voList.add(new ConcatTreeVo(){{
+                setId(node.getId());
+                setName(node.getName());
+            }});
+        });
+        for (ConcatTreeVo concatTreeVo : teacherDeptInfo) {
+            voList.add(new ConcatTreeVo(){{
+                setId(concatTreeVo.getId());
+                setName(concatTreeVo.getName());
+                setParentId(concatTreeVo.getParentId());
+                setMobile(concatTreeVo.getMobile());
+            }});
+        }
+        return voList;
+    }
+}

+ 32 - 0
src/main/java/com/xjrsoft/module/concat/vo/ConcatTreeVo.java

@@ -0,0 +1,32 @@
+package com.xjrsoft.module.concat.vo;
+
+import com.xjrsoft.common.model.tree.ITreeNode;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author dzx
+ * @date 2024/1/29
+ */
+@Data
+public class ConcatTreeVo implements ITreeNode<ConcatTreeVo, Long>, Serializable {
+
+    @ApiModelProperty("名字")
+    private String name;
+
+    @ApiModelProperty("电话")
+    private String mobile;
+
+    @ApiModelProperty("id")
+    private Long id;
+
+    @ApiModelProperty("disabled")
+    private Long parentId;
+
+    @ApiModelProperty("children")
+    private List<ConcatTreeVo> children;
+
+}

+ 3 - 3
src/main/java/com/xjrsoft/module/system/controller/LoginController.java

@@ -96,9 +96,9 @@ public class LoginController {
 
     @GetMapping(value = "/loginQRCode")
     @ApiOperation(value="登录-二维码")
-    @SaCheckPermission("wfstudenttextbookclaim:detail")
-    public RT<LoginQRCodeVo> qrcode() throws Exception {
-        String url = commonPropertiesConfig.getDomainApp() + "/system/QR-code-login?";
+    @SaCheckPermission("login:detail")
+    public RT<LoginQRCodeVo> qrcode() {
+        String url = commonPropertiesConfig.getDomainApp() + "/system/QR-code-login";
         int width = 200;
         int height = 200;
         int margin = 1;

+ 10 - 0
src/main/java/com/xjrsoft/module/teacher/mapper/XjrUserMapper.java

@@ -1,8 +1,11 @@
 package com.xjrsoft.module.teacher.mapper;
 
 import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.concat.dto.ConcatTreeDto;
+import com.xjrsoft.module.concat.vo.ConcatTreeVo;
 import com.xjrsoft.module.teacher.entity.XjrUser;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -21,4 +24,11 @@ public interface XjrUserMapper extends MPJBaseMapper<XjrUser> {
      * @return
      */
     List<Long> getUserIdByClassId(Long classId);
+
+    /**
+     * 查询教师的姓名、电话和部门id
+     * @param dto
+     * @return
+     */
+    List<ConcatTreeVo> getTeacherDeptInfo(@Param("dto") ConcatTreeDto dto);
 }

+ 13 - 0
src/main/resources/mapper/teacher/XjrUserMapper.xml

@@ -12,4 +12,17 @@
         WHERE t.delete_mark = 0 and t1.class_id = #{classId}
         order by t.id;
     </select>
+
+    <select id="getTeacherDeptInfo" parameterType="com.xjrsoft.module.concat.dto.ConcatTreeDto" resultType="com.xjrsoft.module.concat.vo.ConcatTreeVo">
+        SELECT t1.id, t1.name,t1.mobile,t2.dept_id as parent_id FROM xjr_user t1
+        INNER JOIN xjr_user_dept_relation t2 ON t1.id = t2.user_id
+        INNER JOIN base_teacher t3 ON t1.id = t3.user_id
+        WHERE t1.delete_mark = 0
+        <if test="dto.name != null and dto.name != ''">
+            and t1.name like concat('%', #{dto.name}, '%')
+        </if>
+        <if test="dto.mobile != null and dto.mobile != ''">
+            and t1.mobile like concat('%', #{dto.mobile}, '%')
+        </if>
+    </select>
 </mapper>

+ 1 - 1
src/main/resources/sqlScript/20240311_sql.sql

@@ -55,7 +55,7 @@ CREATE TABLE `pb_semester_config` (
 ) ENGINE=INNODB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='攀宝学期对应';
 
 
-ALTER TABLE `tl`.`pb_v_xsxxsfytb`   
+ALTER TABLE `pb_v_xsxxsfytb`   
   ADD INDEX (`Studentcode`),
   ADD INDEX (`qfje`);