Joburgess 5 년 전
부모
커밋
330d9488be

+ 9 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/dao/StudentDao.java

@@ -0,0 +1,9 @@
+package com.keao.edu.user.dao;
+
+import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.user.entity.Student;
+
+public interface StudentDao extends BaseDAO<Integer, Student> {
+
+	
+}

+ 79 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/entity/Student.java

@@ -0,0 +1,79 @@
+package com.keao.edu.user.entity;
+
+import com.keao.edu.auth.api.entity.SysUser;
+import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(student):
+ */
+public class Student {
+
+	@ApiModelProperty(value = "用户编号")
+	private Integer userId;
+	
+	@ApiModelProperty(value = "证件照")
+	private String certificatePhoto;
+
+	private java.util.Date createTime;
+
+	private java.util.Date updateTime;
+
+	private String tenantId;
+
+	private SysUser sysUser;
+
+	public SysUser getSysUser() {
+		return sysUser;
+	}
+
+	public void setSysUser(SysUser sysUser) {
+		this.sysUser = sysUser;
+	}
+
+	public void setUserId(Integer userId){
+		this.userId = userId;
+	}
+	
+	public Integer getUserId(){
+		return this.userId;
+	}
+			
+	public void setCertificatePhoto(String certificatePhoto){
+		this.certificatePhoto = certificatePhoto;
+	}
+	
+	public String getCertificatePhoto(){
+		return this.certificatePhoto;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public void setUpdateTime(java.util.Date updateTime){
+		this.updateTime = updateTime;
+	}
+	
+	public java.util.Date getUpdateTime(){
+		return this.updateTime;
+	}
+			
+	public void setTenantId(String tenantId){
+		this.tenantId = tenantId;
+	}
+	
+	public String getTenantId(){
+		return this.tenantId;
+	}
+			
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 30 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/StudentService.java

@@ -0,0 +1,30 @@
+package com.keao.edu.user.service;
+
+import com.keao.edu.common.service.BaseService;
+import com.keao.edu.user.entity.ExamSong;
+import com.keao.edu.user.entity.Student;
+
+/**
+ * @Author Joburgess
+ * @Date 2020.06.18
+ */
+public interface StudentService extends BaseService<Integer, Student> {
+
+    /**
+     * @describe 新增学员
+     * @author Joburgess
+     * @date 2020.06.18
+     * @param student:
+     * @return void
+     */
+    void addStudent(Student student);
+
+    /**
+     * @describe 更新学员
+     * @author Joburgess
+     * @date 2020.06.18
+     * @param student:
+     * @return void
+     */
+    void updateStudent(Student student);
+}

+ 74 - 0
edu-user/edu-user-server/src/main/java/com/keao/edu/user/service/impl/StudentServiceImpl.java

@@ -0,0 +1,74 @@
+package com.keao.edu.user.service.impl;
+
+import com.keao.edu.auth.api.entity.SysUser;
+import com.keao.edu.common.dal.BaseDAO;
+import com.keao.edu.common.exception.BizException;
+import com.keao.edu.common.service.impl.BaseServiceImpl;
+import com.keao.edu.im.api.entity.ImResult;
+import com.keao.edu.im.api.entity.ImUserModel;
+import com.keao.edu.user.dao.ExamSongDao;
+import com.keao.edu.user.dao.StudentDao;
+import com.keao.edu.user.dao.SysUserDao;
+import com.keao.edu.user.entity.ExamSong;
+import com.keao.edu.user.entity.Student;
+import com.keao.edu.user.service.StudentService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Objects;
+
+/**
+ * @Author Joburgess
+ * @Date 2020.06.18
+ */
+public class StudentServiceImpl extends BaseServiceImpl<Integer, Student> implements StudentService {
+
+    @Autowired
+    private StudentDao studentDao;
+    @Autowired
+    private SysUserDao sysUserDao;
+
+    @Override
+    public BaseDAO<Integer, Student> getDAO() {
+        return studentDao;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void addStudent(Student student) {
+        SysUser sysUser = student.getSysUser();
+        if (sysUser == null || StringUtils.isEmpty(sysUser.getPhone())) {
+            throw new BizException("参数校验失败");
+        }
+        SysUser sysUser1 = sysUserDao.queryByPhone(sysUser.getPhone());
+        if (sysUser1 != null) {
+            if (sysUser1.getUserType().contains("STUDENT")) {
+                throw new BizException("手机号已被占用");
+            } else {
+                sysUser.setId(sysUser1.getId());
+                sysUser.setUserType(sysUser1.getUserType() + ",STUDENT");
+                sysUserDao.update(sysUser);
+                return;
+            }
+        }
+        sysUser.setUserType("STUDENT");
+        sysUserDao.insert(sysUser);
+        studentDao.insert(student);
+    }
+
+    @Override
+    public void updateStudent(Student student) {
+        Integer userId = student.getUserId();
+        SysUser sysUser = student.getSysUser();
+        if (userId == null || StringUtils.isEmpty(sysUser.getPhone())) {
+            throw new BizException("参数校验失败");
+        }
+        SysUser sysUser1 = sysUserDao.queryByPhone(sysUser.getPhone());
+        if (sysUser1 != null && !userId.equals(sysUser1.getId())) {
+            throw new BizException("手机号已被占用");
+        }
+        sysUserDao.update(sysUser);
+        studentDao.update(student);
+    }
+}

+ 79 - 0
edu-user/edu-user-server/src/main/resources/config/mybatis/StudentMapper.xml

@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!--
+这个文件是自动生成的。
+不要修改此文件。所有改动将在下次重新自动生成时丢失。
+-->
+<mapper namespace="com.keao.edu.user.dao.StudentDao">
+	
+	<resultMap type="com.keao.edu.user.entity.Student" id="Student">
+		<result column="user_id_" property="userId" />
+		<result column="certificate_photo_" property="certificatePhoto" />
+		<result column="create_time_" property="createTime" />
+		<result column="update_time_" property="updateTime" />
+		<result column="tenant_id_" property="tenantId" />
+		<association property="sysUser" resultMap="com.keao.edu.user.dao.SysUserDao.SysUser"/>
+	</resultMap>
+
+	<select id="get" resultMap="Student">
+		SELECT * FROM student stu
+		LEFT JOIN sys_user su ON su.id_=stu.user_id_
+		WHERE stu.user_id_=#{id}
+	</select>
+	
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="Student">
+		SELECT * FROM student WHERE tenant_id_=#{tenantId}
+	</select>
+	
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.keao.edu.user.entity.Student" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		INSERT INTO student (user_id_,certificate_photo_,create_time_,update_time_,tenant_id_)
+		VALUES(#{userId},#{certificatePhoto},#{createTime},#{updateTime},#{tenantId})
+	</insert>
+
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.keao.edu.user.entity.Student">
+		UPDATE student
+		<set>
+			<if test="certificatePhoto != null">
+				certificate_photo_ = #{certificatePhoto},
+			</if>
+			<if test="tenantId != null">
+				tenant_id_ = #{tenantId},
+			</if>
+			<if test="createTime != null">
+				create_time_ = #{createTime},
+			</if>
+			update_time_ = NOW()
+		</set> WHERE user_id_ = #{userId}
+	</update>
+
+	<delete id="delete" >
+		DELETE FROM student WHERE user_id_ = #{id}
+	</delete>
+
+	<sql id="queryCondition">
+		<where>
+			tenant_id_=#{tenantId}
+			<if test="search!=null">
+				AND (stu.user_id_=#{search} OR su.real_name_ LIKE CONCAT (#{search}, '%'))
+			</if>
+		</where>
+	</sql>
+
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="Student" parameterType="map">
+		SELECT * FROM student stu
+		LEFT JOIN sys_user su ON su.id_=stu.user_id_
+		<include refid="queryCondition"/>
+		<include refid="global.limit"/>
+	</select>
+	
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM student
+		LEFT JOIN sys_user su ON su.id_=stu.user_id_
+		<include refid="queryCondition"/>
+	</select>
+</mapper>